0%

Binary Tree

1.Binary Tree Preoder, Inorder, Postorder traversal

1

一套模版走天下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class Solution {
根左右
public List<Integer> preorderTraversal(TreeNode root) {
List<Integer> res = new LinkedList<>();
Stack<TreeNode> stack = new Stack<>();
TreeNode cur = root;

while(cur != null || !stack.isEmpty()) {
while (cur != null) {
stack.push(cur);
res.add(cur.val);
cur = cur.left;
}
TreeNode temp = stack.pop();
cur = temp.right;
}
return res;
}
------------------------------------------------------------
左根右
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> res = new LinkedList<>();
Stack<TreeNode> stack = new Stack<>();
TreeNode cur = root;

while(cur != null || !stack.isEmpty()) {
while (cur != null) {
stack.push(cur);
cur = cur.left;
}
TreeNode temp = stack.pop();
res.add(temp.val);
cur = temp.right;
}
return res;
}
-------------------------------------------------------------
左右根 = 根右左 + 反过来存res
public List<Integer> postorderTraversal(TreeNode root) {
List<Integer> res = new LinkedList<>();
Stack<TreeNode> stack = new Stack<>();
TreeNode cur = root;

while(cur != null || !stack.isEmpty()) {
while (cur != null) {
res.addFirst(cur.val);
stack.push(cur);
cur = cur.right;
}
TreeNode temp = stack.pop();
cur = temp.left;
}
return res;
}
}


Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment