File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ /** 
2+  * Definition for a binary tree node. 
3+  * public class TreeNode { 
4+  *     public int val; 
5+  *     public TreeNode left; 
6+  *     public TreeNode right; 
7+  *     public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) { 
8+  *         this.val = val; 
9+  *         this.left = left; 
10+  *         this.right = right; 
11+  *     } 
12+  * } 
13+  */ 
14+ public  class  Solution  { 
15+     public  IList < int >  InorderTraversal ( TreeNode  root )  { 
16+         // return InorderTraversalRecursive(root).ToList(); 
17+         return  InorderTraversalIterative ( root ) . ToList ( ) ; 
18+     } 
19+ 
20+     // Time: O(n) 
21+     // Space: O(n) 
22+     private  IEnumerable < int >  InorderTraversalRecursive ( TreeNode  node )  { 
23+         if  ( node  ==  null )  { 
24+             return  Enumerable . Empty < int > ( ) ; 
25+         } 
26+ 
27+         return  InorderTraversalRecursive ( node . left ) 
28+             . Append ( node . val ) 
29+             . Concat ( InorderTraversalRecursive ( node . right ) ) ; 
30+     } 
31+ 
32+     // Time: O(n) 
33+     // Space: O(n) 
34+     private  IEnumerable < int >  InorderTraversalIterative ( TreeNode  node )  { 
35+         List < int >  result  =  new ( ) ; 
36+         Stack < TreeNode >  stack  =  new ( ) ; 
37+         while  ( node  !=  null  ||  stack . Any ( ) )  { 
38+             while  ( node  !=  null )  { 
39+                 stack . Push ( node ) ; 
40+                 node  =  node . left ; 
41+             } 
42+             node  =  stack . Pop ( ) ; 
43+             result . Add ( node . val ) ; 
44+             node  =  node . right ; 
45+         } 
46+         return  result ; 
47+     } 
48+ } 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments