File tree 1 file changed +40
-0
lines changed
1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments