diff --git "a/docs/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 3~9.md" "b/docs/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 3~9.md"
index 17303fa0ec732b00cc3dc4a6f2f56356541a916e..5f64ce6ea36d12c4f4f7a6d522685e74d344423f 100644
--- "a/docs/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 3~9.md"
+++ "b/docs/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 3~9.md"
@@ -164,14 +164,13 @@ public String replaceSpace(StringBuffer str) {
从尾到头反过来打印出每个结点的值。
-
+
## 解题思路
### 使用递归
-
-
+要逆序打印链表 1->2->3(3,2,1),可以先逆序打印链表 2->3(3,2),最后再打印第一个节点 1。而链表 2->3 可以看成一个新的链表,要逆序打印该链表可以继续使用求解函数,也就是在求解函数中调用自己,这就是递归函数。
```java
public ArrayList printListFromTailToHead(ListNode listNode) {
@@ -186,15 +185,14 @@ public ArrayList printListFromTailToHead(ListNode listNode) {
### 使用头插法
-利用链表头插法为逆序的特点。
+使用头插法可以得到一个逆序的链表。
头结点和第一个节点的区别:
- 头结点是在头插法中使用的一个额外节点,这个节点不存储值;
- 第一个节点就是链表的第一个真正存储值的节点。
-
-
+
```java
public ArrayList printListFromTailToHead(ListNode listNode) {
@@ -219,7 +217,9 @@ public ArrayList printListFromTailToHead(ListNode listNode) {
### 使用栈
-
+栈具有后进先出的特点,在遍历链表时将值按顺序放入栈中,最后出栈的顺序即为逆序。
+
+
```java
public ArrayList printListFromTailToHead(ListNode listNode) {
diff --git a/docs/pics/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif b/docs/pics/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8507532451ef45ac911a36c32614290ea1cfefc
Binary files /dev/null and b/docs/pics/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif differ
diff --git a/docs/pics/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif b/docs/pics/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c34f7419456911fad3b6043c9393317850505ba5
Binary files /dev/null and b/docs/pics/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif differ
diff --git a/docs/pics/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png b/docs/pics/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png
new file mode 100644
index 0000000000000000000000000000000000000000..95a55e94c581f833301d09a1c8e16022fd79c35d
Binary files /dev/null and b/docs/pics/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png differ
diff --git a/notes/pics/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif b/notes/pics/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8507532451ef45ac911a36c32614290ea1cfefc
Binary files /dev/null and b/notes/pics/0dae7e93-cfd1-4bd3-97e8-325b032b716f.gif differ
diff --git a/notes/pics/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif b/notes/pics/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c34f7419456911fad3b6043c9393317850505ba5
Binary files /dev/null and b/notes/pics/9d1deeba-4ae1-41dc-98f4-47d85b9831bc.gif differ
diff --git a/notes/pics/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png b/notes/pics/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png
new file mode 100644
index 0000000000000000000000000000000000000000..95a55e94c581f833301d09a1c8e16022fd79c35d
Binary files /dev/null and b/notes/pics/f5792051-d9b2-4ca4-a234-a4a2de3d5a57.png differ
diff --git "a/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 3~9.md" "b/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 3~9.md"
index 5ecf7d6d87f09851991e71d55bd184f309df355f..c51aedab4699647d2064cefbf4ff8f655eaa0154 100644
--- "a/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 3~9.md"
+++ "b/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 3~9.md"
@@ -164,14 +164,13 @@ public String replaceSpace(StringBuffer str) {
从尾到头反过来打印出每个结点的值。
-
+
## 解题思路
### 使用递归
-
-
+要逆序打印链表 1->2->3(3,2,1),可以先逆序打印链表 2->3(3,2),最后再打印第一个节点 1。而链表 2->3 可以看成一个新的链表,要逆序打印该链表可以继续使用求解函数,也就是在求解函数中调用自己,这就是递归函数。
```java
public ArrayList printListFromTailToHead(ListNode listNode) {
@@ -186,15 +185,14 @@ public ArrayList printListFromTailToHead(ListNode listNode) {
### 使用头插法
-利用链表头插法为逆序的特点。
+使用头插法可以得到一个逆序的链表。
头结点和第一个节点的区别:
- 头结点是在头插法中使用的一个额外节点,这个节点不存储值;
- 第一个节点就是链表的第一个真正存储值的节点。
-
-
+
```java
public ArrayList printListFromTailToHead(ListNode listNode) {
@@ -219,7 +217,9 @@ public ArrayList printListFromTailToHead(ListNode listNode) {
### 使用栈
-
+栈具有后进先出的特点,在遍历链表时将值按顺序放入栈中,最后出栈的顺序即为逆序。
+
+
```java
public ArrayList printListFromTailToHead(ListNode listNode) {