diff --git a/README.md b/README.md
index 4ae0a985..f100c2f1 100644
--- a/README.md
+++ b/README.md
@@ -30,6 +30,7 @@
* 求职
* [程序员应该如何写简历(附简历模板)](https://mp.weixin.qq.com/s/PkBpde0PV65dJjj9zZJYtg)
* [BAT级别技术面试流程和注意事项都在这里了](https://mp.weixin.qq.com/s/815qCyFGVIxwut9I_7PNFw)
+ * [深圳原来有这么多互联网公司,你都知道么?](https://mp.weixin.qq.com/s/Yzrkim-5bY0Df66Ao-hoqA)
* 算法性能分析
* [究竟什么是时间复杂度,怎么求时间复杂度,看这一篇就够了](https://mp.weixin.qq.com/s/lYL9TSxLqCeFXIdjt4dcIw)
@@ -375,6 +376,7 @@
|[0143.重排链表](https://github.com/youngyangyang04/leetcode/blob/master/problems/0143.重排链表.md) |链表 |中等|**快慢指针/双指针** 也可以用数组,双向队列模拟,考察链表综合操作的好题|
|[0144.二叉树的前序遍历](https://github.com/youngyangyang04/leetcode/blob/master/problems/0144.二叉树的前序遍历.md) |树 |中等|**递归** **迭代/栈**|
|[0145.二叉树的后序遍历](https://github.com/youngyangyang04/leetcode/blob/master/problems/0145.二叉树的后序遍历.md) |树 |困难|**递归** **迭代/栈**|
+|[0147.对链表进行插入排序](https://github.com/youngyangyang04/leetcode/blob/master/problems/0147.对链表进行插入排序.md) |链表 |中等|**模拟** 考察链表综合操作|
|[0150.逆波兰表达式求值](https://github.com/youngyangyang04/leetcode/blob/master/problems/0150.逆波兰表达式求值.md) |栈 |中等|**栈**|
|[0151.翻转字符串里的单词](https://github.com/youngyangyang04/leetcode/blob/master/problems/0151.翻转字符串里的单词.md) |字符串 |中等|**模拟/双指针**|
|[0155.最小栈](https://github.com/youngyangyang04/leetcode/blob/master/problems/0155.最小栈.md) |栈 |简单|**栈**|
diff --git a/pics/147.对链表进行插入排序.png b/pics/147.对链表进行插入排序.png
new file mode 100644
index 00000000..807f66f4
Binary files /dev/null and b/pics/147.对链表进行插入排序.png differ
diff --git a/problems/0147.对链表进行插入排序.md b/problems/0147.对链表进行插入排序.md
new file mode 100644
index 00000000..f834e0ba
--- /dev/null
+++ b/problems/0147.对链表进行插入排序.md
@@ -0,0 +1,47 @@
+
+## 思路
+
+这道题目还是很考察链表操作的。
+
+如果不用虚拟头结点的话,这道题会很麻烦,对虚拟头结点不熟悉的同学,可以看这篇:[链表:听说用虚拟头节点会方便很多?](https://mp.weixin.qq.com/s/slM1CH5Ew9XzK93YOQYSjA)。
+
+如果想整体掌握链表操作的话,看一下这篇[链表大总结](https://mp.weixin.qq.com/s/vK0JjSTHfpAbs8evz5hH8A)。
+
+本题在模拟插入排序的过程中,一共要有三次改变节点指针的操作,如果不画一个图,很容易搞蒙了。
+
+我举一个排序插入节点2的例子,并详细标注了每一个步骤,晚上一个插入操作有五步,如下:
+
+
+
+代码中注释的步骤和图中都是一一对应的,对着图看代码,就比较清晰了,C++代码如下:
+
+```
+class Solution {
+public:
+ ListNode* insertionSortList(ListNode* head) {
+ if (head == nullptr) return head;
+
+ ListNode* dummyHead = new ListNode(0); // 定一个虚拟头结点
+ ListNode* cur = head;
+ ListNode* pre = dummyHead;
+
+ while (cur != nullptr) {
+ while (pre->next != nullptr && pre->next->val < cur->val) {
+ pre = pre->next;
+ }
+ // 在pre和prenext之间插入数据
+ ListNode* next = cur->next; // 步骤一:保存curnext
+ cur->next = pre->next; // 步骤二
+ pre->next = cur; // 步骤三
+ pre = dummyHead; // 步骤四:pre重新指向虚拟头结点来找下一个插入位置
+ cur = next; // 步骤五:cur的前一个节点的下一个节点指向保存的next
+ }
+ return dummyHead->next;
+ }
+};
+```
+
+> **我是[程序员Carl](https://github.com/youngyangyang04),[组队刷题](https://img-blog.csdnimg.cn/20201115103410182.png)可以找我,本文[leetcode刷题攻略](https://github.com/youngyangyang04/leetcode-master)已收录,更多[精彩算法文章](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzUxNjY5NTYxNA==&action=getalbum&album_id=1485825793120387074&scene=173#wechat_redirect)尽在:[代码随想录](https://img-blog.csdnimg.cn/20200815195519696.png),关注后就会发现和「代码随想录」相见恨晚!**
+
+**如果感觉题解对你有帮助,不要吝啬给一个👍吧!**
+
diff --git a/problems/回溯总结.md b/problems/回溯总结.md
index ac4a3b1f..d8b9ed06 100644
--- a/problems/回溯总结.md
+++ b/problems/回溯总结.md
@@ -2,6 +2,10 @@
# 回溯法理论基础
+转眼间[「代码随想录」](https://img-blog.csdnimg.cn/20200815195519696.png)里已经分享连续讲解了21天的回溯算法,是时候做一个大总结了,本篇高能,需要花费很大的精力来看!
+
+关于回溯算法理论基础,我录了一期B站视频[带你学透回溯算法(理论篇)](https://www.bilibili.com/video/BV1cy4y167mM)如果对回溯算法还不了解的话,可以看一下。
+
在[关于回溯算法,你该了解这些!](https://mp.weixin.qq.com/s/gjSgJbNbd1eAA5WkA-HeWw)中我们详细的介绍了回溯算法的理论知识,不同于教科书般的讲解,这里介绍的回溯法的效率,解决的问题以及模板都是在刷题的过程中非常实用!
**回溯是递归的副产品,只要有递归就会有回溯**,所以回溯法也经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都是用了递归。
@@ -306,7 +310,7 @@ used数组可是全局变量,每层与每层之间公用一个used数组,所
以输入:[["JFK", "KUL"], ["JFK", "NRT"], ["NRT", "JFK"]为例,抽象为树形结构如下:
-
+
本题可以算是一道hard的题目了,关于本题的难点我在文中已经详细列出。
@@ -395,7 +399,7 @@ N皇后问题分析:
# 总结
-**历时21天,14道经典题目分析,20张树形图,21篇回溯法精讲文章,从组合到切割,从子集到排列,从棋盘问题到最后的复杂度分析**,至此收尾了。
+**[「代码随想录」](https://img-blog.csdnimg.cn/20200815195519696.png)历时21天,14道经典题目分析,20张树形图,21篇回溯法精讲文章,从组合到切割,从子集到排列,从棋盘问题到最后的复杂度分析**,至此收尾了。
这里的每一种问题,讲解的时候我都会和其他问题作对比,做分析,确保每一个问题都讲的通透。
diff --git a/problems/导读.md b/problems/导读.md
index ff9910d9..3ac0ea12 100644
--- a/problems/导读.md
+++ b/problems/导读.md
@@ -12,6 +12,18 @@
# 文章篇
+* 求职
+ * [程序员应该如何写简历(附简历模板)](https://mp.weixin.qq.com/s/PkBpde0PV65dJjj9zZJYtg)
+ * [BAT级别技术面试流程和注意事项都在这里了](https://mp.weixin.qq.com/s/815qCyFGVIxwut9I_7PNFw)
+ * [深圳原来有这么多互联网公司,你都知道么?](https://mp.weixin.qq.com/s/Yzrkim-5bY0Df66Ao-hoqA)
+
+* 算法性能分析
+ * [究竟什么是时间复杂度,怎么求时间复杂度,看这一篇就够了](https://mp.weixin.qq.com/s/lYL9TSxLqCeFXIdjt4dcIw)
+ * [一文带你彻底理解程序为什么会超时](https://mp.weixin.qq.com/s/T-vcJSkq2-0s0bBB-itWbQ)
+ * [一场面试,带你彻底掌握递归算法的时间复杂度](https://mp.weixin.qq.com/s/Kt-Mvs8LeVqidLGUqySj1g)
+ * [算法分析中的空间复杂度,你真的会了么?](https://mp.weixin.qq.com/s/sXjjnOUEQ4Gf5F9QCRzy7g)
+ * [刷leetcode的时候,究竟什么时候可以使用库函数,什么时候不要使用库函数,过来人来说一说](https://leetcode-cn.com/circle/article/E1Kjzn/)
+
* 数组
* [必须掌握的数组理论知识](https://mp.weixin.qq.com/s/X7R55wSENyY62le0Fiawsg)
* [数组:每次遇到二分法,都是一看就会,一写就废](https://mp.weixin.qq.com/s/fCf5QbPDtE6SSlZ1yh_q8Q)