Advertisement
aero2146

Binary Tree Level Order Traversal

Jan 25th, 2020
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.71 KB | None | 0 0
  1. class Solution {
  2.     List<List<Integer>> levels = new ArrayList<List<Integer>>();
  3.  
  4.     public void helper(TreeNode node, int level) {
  5.         // start the current level
  6.         if (levels.size() == level)
  7.             levels.add(new ArrayList<Integer>());
  8.  
  9.          // fulfil the current level
  10.          levels.get(level).add(node.val);
  11.  
  12.          // process child nodes for the next level
  13.          if (node.left != null)
  14.             helper(node.left, level + 1);
  15.          if (node.right != null)
  16.             helper(node.right, level + 1);
  17.     }
  18.    
  19.     public List<List<Integer>> levelOrder(TreeNode root) {
  20.         if (root == null) return levels;
  21.         helper(root, 0);
  22.         return levels;
  23.     }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement