从上到下打印二叉树python代码
以下是从上到下打印二叉树的Python代码:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def levelOrder(root: TreeNode) -> List[List[int]]:
if not root:
return []
queue, res = [root], []
while queue:
level = []
for i in range(len(queue)):
node = queue.pop(0)
level.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
res.append(level)
return res
该代码使用广度优先搜索算法,通过一个队列来存储每一层的节点,然后进行遍历并记录每一层的结果,最后返回整个树的层序遍历结果
原文地址: https://www.cveoy.top/t/topic/fELR 著作权归作者所有。请勿转载和采集!