Binary Tree Level Order Traversal: Java Recursive Solution
\nclass Solution {\n    public List<List<Integer>> levelOrder(TreeNode root) {\n\t\tList<List<Integer>> output = new ArrayList<>();\n\t\tlevelOrderHelper(output
```\nclass Solution {\n    public List<List<Integer>> levelOrder(TreeNode root) {\n\t\tList<List<Integer>> output = new ArrayList<>();\n\t\tlevelOrderHelper(output, root, 0);\n\t\treturn output;\n\t}\n\t\n\tpublic void levelOrderHelper(List<List<Integer>> output, TreeNode root, int level) {\n\t\tif (root == null) {\n            return;\n        } else {\n            if (level >= output.size()) {\n                output.add(new ArrayList<>());\n            }   \n            output.get(level).add(root.val);\n            levelOrderHelper(output, root.left, level + 1);\n            levelOrderHelper(output, root.right, level + 1);\n        }\n\t}\n}\n```\n\n\nIf it helped, please UPVOTE .\nHappy Coding and keep up the good work :)
['Breadth-First Search', 'Recursion', 'Java']