Skip to content

Commit 0d23f9a

Browse files
committed
add
1 parent ec8ee39 commit 0d23f9a

File tree

2 files changed

+25
-28
lines changed

2 files changed

+25
-28
lines changed

src/leetcode/solution/tree/traversal/BinaryTreePostorderTraversal.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,24 @@ private static void helper(TreeNode root, List<Integer> result) {
3838
public static List<Integer> postorderIterator(TreeNode root) {
3939
LinkedList<Integer> ans = new LinkedList<>();
4040
Stack<TreeNode> stack = new Stack<>();
41-
if (root == null) {
42-
return ans;
43-
}
41+
stack.add(root);
4442

45-
stack.push(root);
4643
while (!stack.isEmpty()) {
47-
TreeNode cur = stack.pop();
48-
ans.addFirst(cur.val);
49-
if (cur.left != null) {
50-
stack.push(cur.left);
44+
TreeNode node = stack.pop();
45+
ans.addFirst(node.val);
46+
47+
if (node.left != null) {
48+
stack.add(node.left);
5149
}
52-
if (cur.right != null) {
53-
stack.push(cur.right);
50+
51+
if (node.right != null) {
52+
stack.add(node.right);
5453
}
5554
}
55+
5656
return ans;
57+
58+
5759
}
5860

5961

src/leetcode/solution/tree/traversal/BinaryTreePreorderTraversal.java

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,32 +38,27 @@ private static void helper(TreeNode root, List<Integer> result) {
3838
}
3939

4040
public static List<Integer> preorderIterator(TreeNode root) {
41-
if (root == null) {
42-
return new ArrayList<>();
43-
}
44-
45-
List<Integer> res = new ArrayList<>();
41+
List<Integer> ans = new ArrayList<>();
4642
Stack<TreeNode> stack = new Stack<>();
47-
4843
stack.add(root);
4944

5045
while (!stack.isEmpty()) {
51-
TreeNode current = stack.pop();
52-
if (current == null) {
53-
break;
54-
}
55-
56-
res.add(current.val);
46+
TreeNode node = stack.pop();
47+
ans.add(node.val);
5748

58-
if (current.right != null) {
59-
stack.add(current.right);
60-
}
61-
if (current.left != null) {
62-
stack.add(current.left);
49+
if (node.right != null) {
50+
stack.add(node.right);
6351
}
6452

53+
if (node.left != null) {
54+
stack.add(node.left);
55+
}
6556
}
66-
return res;
57+
58+
return ans;
59+
6760

6861
}
62+
63+
6964
}

0 commit comments

Comments
 (0)