Given the root node of a binary tree, return a list of lists containing the values of the nodes at each depth level, traversed from left to right for each level.
Example 1
Input: TreeNode(5, TreeNode(2), TreeNode(8, TreeNode(7), TreeNode(9)))
Output: [[5],[2,8],[7,9]]
Explanation: Level 0: [5], Level 1: [2,8], Level 2: [7,9]
Example 2
Input: TreeNode(10, None, TreeNode(20, TreeNode(15), None))
Output: [[10],[20],[15]]
Explanation: Level 0: [10], Level 1: [20], Level 2: [15]
Example 3
Input: None
Output: []
Explanation: Empty tree returns empty list.
Constraints
Case 1
Input: TreeNode(1, TreeNode(2, TreeNode(4)), TreeNode(3, None, TreeNode(5)))
Expected: [[1],[2,3],[4,5]]
Case 2
Input: TreeNode(6, TreeNode(4, TreeNode(2)), TreeNode(8, None, TreeNode(9)))
Expected: [[6],[4,8],[2,9]]
Case 3
Input: TreeNode(100)
Expected: [[100]]