Back to course home
0% completed
Vote For New Content
Solution with one while loop using JAVA
viniciuslopeslps
Aug 20, 2024
public List<List<Integer>> traverse(TreeNode root) { List<List<Integer>> result = new ArrayList<>(); LinkedList<TreeNode> ll = new LinkedList<>(); ll.add(root); int listSize = 0; List<Integer> numbers = new ArrayList<>(); int kids = 0; int level = 1; while (!ll.isEmpty()) { if (listSize == level) { result.add(numbers); level = level * kids; listSize = 0; numbers = new ArrayList<>(); kids = 0; continue; } TreeNode popped = ll.poll(); numbers.add(popped.val); listSize++; if (popped.left != null) { ll.add(popped.left); kids++; } if (popped.right != null) { ll.add(popped.right); kids++; } } result.add(numbers); return result; }
0
1
Comments
Comments
On this page