Skip to content

Commit fc4c9be

Browse files
binary tree inorder traversal
1 parent f9d5804 commit fc4c9be

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package medium;
2+
3+
import java.util.List;
4+
import java.util.ArrayList;
5+
import java.util.Stack;
6+
7+
import classes.TreeNode;
8+
9+
public class BinaryTreeInorderTraversal {
10+
11+
public List<Integer> inorderTraversal(TreeNode root) {
12+
List<Integer> result = new ArrayList();
13+
return inorder(root, result);
14+
}
15+
16+
List<Integer> inorder(TreeNode root, List<Integer> result){
17+
if(root == null) return result;
18+
if(root.left != null) inorder(root.left, result);
19+
result.add(root.val);
20+
if(root.right != null) inorder(root.right, result);
21+
return result;
22+
}
23+
24+
public List<Integer> inorderTraversal_iterative(TreeNode root) {
25+
List<Integer> result = new ArrayList();
26+
Stack<TreeNode> stack = new Stack();
27+
while(root != null || !stack.isEmpty()){
28+
while(root != null){
29+
stack.push(root);
30+
root = root.left;
31+
}
32+
root = stack.pop();
33+
result.add(root.val);
34+
root = root.right;
35+
}
36+
return result;
37+
}
38+
39+
40+
}

0 commit comments

Comments
 (0)