二叉树层次遍历2
思路:反转res列表或者res_level从头插入(deque数据结构)
习题链接
一刷:
一遍过,不过忘了判断root为空的情况。
"""
Definition of TreeNode:
class TreeNode:
def __init__(self, val):
self.val = val
self.left, self.right = None, None
"""
from collections import deque
class Solution:
"""
@param root: A tree
@return: buttom-up level order a list of lists of integer
"""
def levelOrderBottom(self, root):
# write your code here
if root is None:
return []
res = []
now_level = deque([root])
while now_level:
res_level = []
for _ in range(len(now_level)):
now_root = now_level.popleft()
res_level.append(now_root.val)
if now_root.left is not None:
now_level.append(now_root.left)
if now_root.right is not None:
now_level.append(now_root.right)
res.append(res_level)
return res[::-1]