Given the `root` of a binary tree, return the **bottom-up level order** traversal of its nodes' values. (i.e., from left to right, level by level from leaf to root).
Example 1
Input: root = [3,9,20,null,null,15,7]
Output: [[15,7],[9,20],[3]]
Explanation: The levels from top to bottom are [3], [9,20] and [15,7]. Returning them bottom-up gives [[15,7],[9,20],[3]].
Example 2
Input: root = [1]
Output: [[1]]
Explanation: The tree has a single level containing the root, so the answer is [[1]].
Example 3
Input: root = [1,2,3,4,5]
Output: [[4,5],[2,3],[1]]
Explanation: The levels top-down are [1], [2,3] and [4,5]. Reversed, they become [[4,5],[2,3],[1]].
Do an ordinary breadth-first traversal, collecting one list per level. Bottom-up order is just the top-down level list reversed at the end.
Run checks all cases above. Submit evaluates all test cases.