思路:
层次遍历一层之前,先定义一个中间队列,并且记录一下,需要遍历多少个节点。
可以反转一下list,或者直接用一个栈。先进去的在里面
class Solution:
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
if not root:
return []
ans = []
que = collections.deque()
que.append(root)
while len(que):
length = len(que)
tmpl = []
for i in range(length):
tmp = que.popleft()
tmpl.append(tmp.val)
if tmp.left:
que.append(tmp.left)
if tmp.right:
que.append(tmp.right)
ans.append(tmpl)
return ans[::-1]