-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSolution.java
More file actions
30 lines (26 loc) · 782 Bytes
/
Copy pathSolution.java
File metadata and controls
30 lines (26 loc) · 782 Bytes
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
package leetcode._94_;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import leetcode.common.TreeNode;
class Solution {
public List<Integer> inorderTraversal(TreeNode root) {
Stack<TreeNode> stack = new Stack<>();
List<Integer> result = new ArrayList<>();
TreeNode p = root;
while (p != null || !stack.isEmpty()) {
// 一直向左,把所有节点压栈
while (p != null) {
stack.push(p);
p = p.left;
}
// 压栈结束,元素出栈
p = stack.pop();
// 打印 value
result.add(p.val);
// 对右子树做同样的操作
p = p.right;
}
return result;
}
}