Advertisement
rishu110067

Untitled

Feb 25th, 2022
965
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.03 KB | None | 0 0
  1.  
  2. class Solution {
  3.     public List<List<Integer>> levelOrder(TreeNode root) {
  4.        
  5.         Stack<TreeNode> s1 = new Stack<>();
  6.         Stack<TreeNode> s2 = new Stack<>();
  7.         s1.add(root);
  8.         List<List<Integer>> res = new ArrayList<>();  
  9.         if(root == null)
  10.             return res;
  11.        
  12.         List<Integer> level = new ArrayList<>();
  13.         while(!s1.isEmpty() || !s2.isEmpty()){
  14.             level = new ArrayList<>();
  15.             while(!s1.isEmpty()){
  16.                 TreeNode temp = s1.pop();
  17.                 level.add(temp.val);
  18.                 if(temp.left != null)
  19.                     s2.push(temp.left);
  20.                 if(temp.right != null)
  21.                     s2.push(temp.right);
  22.             }
  23.             res.add(level);
  24.            
  25.             // reversing the elemenst in stack s1 by putting them in s2
  26.             while(!s2.empty())
  27.             {
  28.                 TreeNode temp = s2.pop();
  29.                 s1.push(temp);
  30.             }
  31.         }
  32.        
  33.         return res;
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement