class Solution: def levelOrderBottom(self , root: TreeNode) -> List[List[int]]: # write code here queue = [root] len_q = len(queue) res = [] while queue: tmp = [] for _ in range(len_q): node = queue.pop(0) if node.left: queue.append(node.left) if node.right: queue.append(node.right) tmp.append(node.val) len_q = len(queue) res.append(tmp) res.reverse() return res