关注
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def level_order_traversal(root):
if not root:
return []
result = [] #存储遍历结果
queue = [root] 使用队列辅助遍历,初始将根节点加入队列
while queue:
level_size = len(queue) 当前层的节点个数
level_nodes = [] 存储当前层的节点值
遍历当前层的节点
for _ in range(level_size):
node = queue.pop(0) 弹出队首节点
level_nodes.append(node.val) 将节点值加入当前层的结果列表
将当前节点的左右子节点加入队列
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
result.append(level_nodes) 将当前层的节点值列表加入最终结果列表
return result
点赞
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客AI体验站 #
18255次浏览 314人参与
# 记录实习开销 #
185173次浏览 843人参与
# 牛客新年AI问运 #
16106次浏览 175人参与
# 大家每天通勤多久? #
84135次浏览 708人参与
# 正在实习的你,几点下班 #
297578次浏览 2082人参与
# 牛客租房专区 #
154652次浏览 1629人参与
# 不给转正的实习,你还去吗 #
2627655次浏览 22925人参与
# 选择和努力,哪个更重要? #
191448次浏览 1497人参与
# 如何缓解入职前的焦虑 #
259969次浏览 1458人参与
# 我的岗位说明书 #
308163次浏览 2753人参与
# 有转正机会的小厂实习值得去吗? #
1204次浏览 22人参与
# 金融银行求职进展汇总 #
309763次浏览 1686人参与
# 你小时候最想从事什么职业 #
154217次浏览 2059人参与
# 校招入职后的感受 #
488701次浏览 3682人参与
# 入职第一天 #
47661次浏览 554人参与
# 投递无反馈,如何优化求职策略? #
8761次浏览 43人参与
# 工作后会跟朋友渐行渐远吗 #
60315次浏览 415人参与
# 你最讨厌面试被问什么 #
2169次浏览 30人参与
# 牛友们,签完三方你在忙什么? #
137651次浏览 997人参与
# 帆软软件工作体验 #
14730次浏览 86人参与