class Solution(object):
def levelOrderBottom(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
if not root:
return []
level_queue = []
ans = []
level_queue.append(root)
while level_queue:
num = len(level_queue)
temp = []
while num > 0:
cur = level_queue.pop(0)
temp.append(cur.val)
if cur.left:
level_queue.append(cur.left)
if cur.right:
level_queue.append(cur.right)
num -= 1
ans.append(temp)
return ans[::-1]