From da92069434c5a0f4173226329fd04d11fc799700 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Mon, 19 Mar 2018 16:38:46 +0800 Subject: [PATCH] auto commit --- notes/剑指 offer 题解.md | 42 +++++++++--------- pics/6afa9796-af1a-4495-9f02-63349ab68a19.png | Bin 0 -> 18432 bytes 2 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 pics/6afa9796-af1a-4495-9f02-63349ab68a19.png diff --git a/notes/剑指 offer 题解.md b/notes/剑指 offer 题解.md index 099dd674..8cce9cf6 100644 --- a/notes/剑指 offer 题解.md +++ b/notes/剑指 offer 题解.md @@ -1134,11 +1134,15 @@ private boolean isSubtree(TreeNode root1, TreeNode root2) { ```java public void Mirror(TreeNode root) { if (root == null) return; + swap(root); + Mirror(root.left); + Mirror(root.right); +} + +private void swap(TreeNode root) { TreeNode t = root.left; root.left = root.right; root.right = t; - Mirror(root.left); - Mirror(root.right); } ``` @@ -1211,6 +1215,8 @@ private int height(TreeNode root) {

+

+ ## 解题思路 ```java @@ -1274,11 +1280,11 @@ public int min() { public boolean IsPopOrder(int[] pushA, int[] popA) { int n = pushA.length; Stack stack = new Stack<>(); - for (int i = 0, j = 0; i < n; i++) { - stack.push(pushA[i]); - while (j < n && stack.peek() == popA[j]) { + for (int pushIndex = 0, popIndex = 0; pushIndex < n; pushIndex++) { + stack.push(pushA[pushIndex]); + while (popIndex < n && stack.peek() == popA[popIndex]) { stack.pop(); - j++; + popIndex++; } } return stack.isEmpty(); @@ -1299,7 +1305,7 @@ public boolean IsPopOrder(int[] pushA, int[] popA) { 使用队列来进行层次遍历。 -不需要使用两个队列来分别存储当前层的节点和下一层的节点,因为在开始遍历一层的节点时,当前队列中的节点数就是当前层的节点数,只要控制遍历这么多节点数,就能保证这次遍历的都是当前层的节点。 +不需要使用两个队列分别存储当前层的节点和下一层的节点,因为在开始遍历一层的节点时,当前队列中的节点数就是当前层的节点数,只要控制遍历这么多节点数,就能保证这次遍历的都是当前层的节点。 ```java public ArrayList PrintFromTopToBottom(TreeNode root) { @@ -1373,12 +1379,8 @@ public ArrayList> Print(TreeNode pRoot) { if (node.left != null) queue.add(node.left); if (node.right != null) queue.add(node.right); } - if (reverse) { - Collections.reverse(list); - reverse = false; - } else { - reverse = true; - } + if (reverse) Collections.reverse(list); + reverse = !reverse; ret.add(list); } return ret; @@ -1399,7 +1401,7 @@ public ArrayList> Print(TreeNode pRoot) { ```java public boolean VerifySquenceOfBST(int[] sequence) { - if (sequence.length == 0) return false; + if (sequence == null || sequence.length == 0) return false; return verify(sequence, 0, sequence.length - 1); } @@ -1431,19 +1433,19 @@ private boolean verify(int[] sequence, int first, int last) { private ArrayList> ret = new ArrayList<>(); public ArrayList> FindPath(TreeNode root, int target) { - dfs(root, target, 0, new ArrayList<>()); + dfs(root, target, new ArrayList<>()); return ret; } -private void dfs(TreeNode node, int target, int curSum, ArrayList path) { +private void dfs(TreeNode node, int target, ArrayList path) { if (node == null) return; - curSum += node.val; path.add(node.val); - if (curSum == target && node.left == null && node.right == null) { + target -= node.val; + if (target == 0 && node.left == null && node.right == null) { ret.add(new ArrayList(path)); } else { - dfs(node.left, target, curSum, path); - dfs(node.right, target, curSum, path); + dfs(node.left, target, path); + dfs(node.right, target, path); } path.remove(path.size() - 1); } diff --git a/pics/6afa9796-af1a-4495-9f02-63349ab68a19.png b/pics/6afa9796-af1a-4495-9f02-63349ab68a19.png new file mode 100644 index 0000000000000000000000000000000000000000..ee2ee55ea94ed6d10a66bee11959b232b75a577a GIT binary patch literal 18432 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 literal 0 HcmV?d00001