102 二叉树层序遍历

102 二叉树层序遍历层序遍历 每次层的输出是是一个一维数组 整个二叉树的输出结果是二维数组 BFS 遍历 依托于队列结构 每次在根节点出栈的时候 将其值加在结果列表中 然后将他的左右孩子节点入队列 层序遍历相对于 BFS 需要知道每一层有多少个节点 因此 我们需要稍微修改一下代码 在每一层遍历开始前 先记录队列中的结点数量 nn 也就是这一层的结点数量 然后一口气处理完这一层的 n 个结点 参考

层序遍历,每次层的输出是是一个一维数组,整个二叉树的输出结果是二维数组


BFS遍历,依托于队列结构,每次在根节点出栈的时候,将其值加在结果列表中,然后将他的左右孩子节点入队列。
层序遍历相对于BFS,需要知道每一层有多少个节点。

因此,我们需要稍微修改一下代码,在每一层遍历开始前,先记录队列中的结点数量 nn(也就是这一层的结点数量),然后一口气处理完这一层的 n 个结点。参考
class Solution:
def levelOrder(self, root: TreeNode):
r = []
if not root:return r
quee = [root]
while quee:
temp = []
k = len(quee)# 当前层右多少个节点
for i in range(k):
root = quee.pop(0)
temp.append(root.val)
if root.left:quee.append(root.left)
if root.right:quee.append(root.right)

r.append(temp)
return r
编程小号
上一篇 2025-02-06 20:01
下一篇 2025-09-14 21:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/114676.html