diff --git a/notes/剑指 offer 题解.md b/notes/剑指 offer 题解.md index 3d23bea2..0c61c483 100644 --- a/notes/剑指 offer 题解.md +++ b/notes/剑指 offer 题解.md @@ -185,8 +185,6 @@ public boolean Find(int target, int[][] matrix) { 复杂度:O(N) + O(1) -

- ```java public String replaceSpace(StringBuffer str) { int oldLen = str.length(); @@ -303,7 +301,7 @@ preorder = [3,9,20,15,7] inorder = [9,3,15,20,7] ``` -

+

## 解题思路 @@ -341,11 +339,11 @@ private TreeNode reConstructBinaryTree(int[] pre, int preL, int preR, int[] in, ① 如果一个节点有右子树不为空,那么该节点的下一个节点是右子树的最左节点; -

+

② 否则,向上找第一个左链接指向的树包含该节点的祖先节点。 -

+

```java public class TreeLinkNode { @@ -413,7 +411,7 @@ public int pop() { 如果使用递归求解,那么会重复计算一些子问题。例如,求 f(10) 需要计算 f(9) 和 f(8),计算 f(9) 需要计算 f(8) 和 f(7),可以看到 f(8) 被重复计算了。 -

+

递归方法是将一个问题划分成多个子问题求解,动态规划也是如此,但是动态规划会把子问题的解缓存起来,避免重复求解子问题。 @@ -1086,7 +1084,7 @@ public ListNode Merge(ListNode list1, ListNode list2) { ## 题目描述 -

+

## 解题思路 @@ -1109,7 +1107,7 @@ private boolean isSubtree(TreeNode root1, TreeNode root2) { ## 题目描述 -

+

## 解题思路 @@ -1132,7 +1130,7 @@ private void swap(TreeNode root) { ## 题目描述 -

+

## 解题思路 @@ -1242,7 +1240,7 @@ public boolean IsPopOrder(int[] pushA, int[] popA) { 例如,以下二叉树层次遍历的结果为:1,2,3,4,5,6,7 -

+

## 解题思路 @@ -1338,7 +1336,7 @@ public ArrayList> Print(TreeNode pRoot) { 例如,下图是后序遍历序列 3,1,2 所对应的二叉搜索树。 -

+

## 解题思路 @@ -1368,7 +1366,7 @@ private boolean verify(int[] sequence, int first, int last) { 下图的二叉树有两条和为 22 的路径:10, 5, 7 和 10, 12 -

+

## 解题思路 @@ -1456,7 +1454,7 @@ public RandomListNode Clone(RandomListNode pHead) { 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 -

+

## 解题思路 @@ -2142,7 +2140,7 @@ private void inOrder(TreeNode root, int k) { 从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 -

+

## 解题思路 @@ -2159,7 +2157,7 @@ public int TreeDepth(TreeNode root) { 平衡二叉树左右子树高度差不超过 1。 -

+

## 解题思路 @@ -2559,7 +2557,7 @@ public int StrToInt(String str) { ### 二叉查找树 -

+

```java public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { @@ -2571,7 +2569,7 @@ public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { ### 普通二叉树 -

+

```java public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { diff --git a/pics/293d2af9-de1d-403e-bed0-85d029383528.png b/pics/293d2af9-de1d-403e-bed0-85d029383528.png new file mode 100644 index 00000000..36765e32 Binary files /dev/null and b/pics/293d2af9-de1d-403e-bed0-85d029383528.png differ diff --git a/pics/348bc2db-582e-4aca-9f88-38c40e9a0e69.png b/pics/348bc2db-582e-4aca-9f88-38c40e9a0e69.png new file mode 100644 index 00000000..cb7e3681 Binary files /dev/null and b/pics/348bc2db-582e-4aca-9f88-38c40e9a0e69.png differ diff --git a/pics/37a72755-4890-4b42-9eab-b0084e0c54d9.png b/pics/37a72755-4890-4b42-9eab-b0084e0c54d9.png new file mode 100644 index 00000000..c74c59ef Binary files /dev/null and b/pics/37a72755-4890-4b42-9eab-b0084e0c54d9.png differ diff --git a/pics/4583e24f-424b-4d50-8a14-2c38a1827d4a.png b/pics/4583e24f-424b-4d50-8a14-2c38a1827d4a.png new file mode 100644 index 00000000..be98ce69 Binary files /dev/null and b/pics/4583e24f-424b-4d50-8a14-2c38a1827d4a.png differ diff --git a/pics/79b12431-6d9d-4a7d-985b-1b79bc5bf5fb.png b/pics/79b12431-6d9d-4a7d-985b-1b79bc5bf5fb.png new file mode 100644 index 00000000..d2a30004 Binary files /dev/null and b/pics/79b12431-6d9d-4a7d-985b-1b79bc5bf5fb.png differ diff --git a/pics/836a4eaf-4798-4e48-b52a-a3dab9435ace.png b/pics/836a4eaf-4798-4e48-b52a-a3dab9435ace.png new file mode 100644 index 00000000..be8ab737 Binary files /dev/null and b/pics/836a4eaf-4798-4e48-b52a-a3dab9435ace.png differ diff --git a/pics/8a4c6ad4-a816-47d1-b93f-7ca4f78ab67a.png b/pics/8a4c6ad4-a816-47d1-b93f-7ca4f78ab67a.png new file mode 100644 index 00000000..360a984e Binary files /dev/null and b/pics/8a4c6ad4-a816-47d1-b93f-7ca4f78ab67a.png differ diff --git a/pics/955af054-8872-4569-82e7-2e10b66bc38e.png b/pics/955af054-8872-4569-82e7-2e10b66bc38e.png new file mode 100644 index 00000000..502af347 Binary files /dev/null and b/pics/955af054-8872-4569-82e7-2e10b66bc38e.png differ diff --git a/pics/a2d13178-f1ef-4811-a240-1fe95b55b1eb.png b/pics/a2d13178-f1ef-4811-a240-1fe95b55b1eb.png new file mode 100644 index 00000000..edc6840a Binary files /dev/null and b/pics/a2d13178-f1ef-4811-a240-1fe95b55b1eb.png differ diff --git a/pics/b29f8971-9cb8-480d-b986-0e60c2ece069.png b/pics/b29f8971-9cb8-480d-b986-0e60c2ece069.png new file mode 100644 index 00000000..65f73b0e Binary files /dev/null and b/pics/b29f8971-9cb8-480d-b986-0e60c2ece069.png differ diff --git a/pics/cb0ed469-27ab-471b-a830-648b279103c8.png b/pics/cb0ed469-27ab-471b-a830-648b279103c8.png new file mode 100644 index 00000000..88c2ce86 Binary files /dev/null and b/pics/cb0ed469-27ab-471b-a830-648b279103c8.png differ diff --git a/pics/e026c24d-00fa-4e7c-97a8-95a98cdc383a.png b/pics/e026c24d-00fa-4e7c-97a8-95a98cdc383a.png new file mode 100644 index 00000000..427cfbf8 Binary files /dev/null and b/pics/e026c24d-00fa-4e7c-97a8-95a98cdc383a.png differ diff --git a/pics/e143f6da-d114-4ba4-8712-f65299047fa2.png b/pics/e143f6da-d114-4ba4-8712-f65299047fa2.png new file mode 100644 index 00000000..38cbf667 Binary files /dev/null and b/pics/e143f6da-d114-4ba4-8712-f65299047fa2.png differ diff --git a/pics/f42443e0-208d-41ea-be44-c7fd97d2e3bf.png b/pics/f42443e0-208d-41ea-be44-c7fd97d2e3bf.png new file mode 100644 index 00000000..4a5dbd1d Binary files /dev/null and b/pics/f42443e0-208d-41ea-be44-c7fd97d2e3bf.png differ diff --git a/pics/f5477abd-c246-4851-89ab-6b1cde2549b1.png b/pics/f5477abd-c246-4851-89ab-6b1cde2549b1.png new file mode 100644 index 00000000..f358a009 Binary files /dev/null and b/pics/f5477abd-c246-4851-89ab-6b1cde2549b1.png differ