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