diff --git a/docs/notes/剑指 offer 题解.md b/docs/notes/剑指 offer 题解.md
index 1184cb0e..709bbb98 100644
--- a/docs/notes/剑指 offer 题解.md
+++ b/docs/notes/剑指 offer 题解.md
@@ -1,7 +1,5 @@
[🎉 面试进阶指南已上线](https://xiaozhuanlan.com/CyC2018)
-* [1. 前言](#1-前言)
-* [2. 实现 Singleton](#2-实现-singleton)
* [3. 数组中重复的数字](#3-数组中重复的数字)
* [4. 二维数组中的查找](#4-二维数组中的查找)
* [5. 替换空格](#5-替换空格)
@@ -82,16 +80,6 @@
-# 1. 前言
-
-本文内容可在微信小程序中阅读:
-
-
-
-# 2. 实现 Singleton
-
-[单例模式](设计模式.md)
-
# 3. 数组中重复的数字
[NowCoder](https://www.nowcoder.com/practice/623a5ac0ea5b4e5f95552655361ae0a8?tpId=13&tqId=11203&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking)
@@ -250,24 +238,6 @@ public String replaceSpace(StringBuffer str) {
## 解题思路
-### 使用栈
-
-
-
-```java
-public ArrayList printListFromTailToHead(ListNode listNode) {
- Stack stack = new Stack<>();
- while (listNode != null) {
- stack.add(listNode.val);
- listNode = listNode.next;
- }
- ArrayList ret = new ArrayList<>();
- while (!stack.isEmpty())
- ret.add(stack.pop());
- return ret;
-}
-```
-
### 使用递归
@@ -292,7 +262,7 @@ public ArrayList printListFromTailToHead(ListNode listNode) {
- 头结点是在头插法中使用的一个额外节点,这个节点不存储值;
- 第一个节点就是链表的第一个真正存储值的节点。
-
+
```java
public ArrayList printListFromTailToHead(ListNode listNode) {
@@ -315,6 +285,24 @@ public ArrayList printListFromTailToHead(ListNode listNode) {
}
```
+### 使用栈
+
+
+
+```java
+public ArrayList printListFromTailToHead(ListNode listNode) {
+ Stack stack = new Stack<>();
+ while (listNode != null) {
+ stack.add(listNode.val);
+ listNode = listNode.next;
+ }
+ ArrayList ret = new ArrayList<>();
+ while (!stack.isEmpty())
+ ret.add(stack.pop());
+ return ret;
+}
+```
+
# 7. 重建二叉树
[NowCoder](https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&tqId=11157&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking)