"""
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
例如:
给定二叉树 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其自底向上的层次遍历为:
[
[15,7],
[9,20],
[3]
]
"""
def levelOrderBottom(root):
ans = []
if not root:
return ans
def helper(temp):
arr = []
ans_ = []
if not temp[-1]:
return
for node in temp[-1]:
if node:
ans_.append(node.val)
if node.left:
arr.append(node.left)
if node.right:
arr.append(node.right)
temp.append(arr)
ans.append(ans_)
helper(temp)
helper([[root]])
result = []
for i in range(len(ans) - 1, -1, -1):
result.append(ans[i])
return result
107_二叉树的层次遍历Ⅱ
最新推荐文章于 2021-08-06 12:56:18 发布