"""
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
"""
from TreeNode import TreeNode
# 递归
def levelOrder(root):
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]])
return ans
node1 = TreeNode(3)
node2 = TreeNode(9)
node3 = TreeNode(20)
node4 = TreeNode(15)
node5 = TreeNode(7)
node1.left = node2
node1.right = node3
node3.left = node4
node3.right = node5
print(levelOrder(node1))
来源:CSDN
作者:Lishu_cc
链接:https://blog.csdn.net/weixin_41529389/article/details/103569881