leetcode hot二叉树的层序遍历

102. 二叉树的层序遍历

已解答

中等

相关标签

相关企业

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)

Definition for a binary tree node.

class TreeNode(object):

def init(self, val=0, left=None, right=None):

self.val = val

self.left = left

self.right = right

class Solution(object):

def levelOrder(self, root):

"""

:type root: OptionalTreeNode

:rtype: ListList\[int]

"""

广度优先搜索

if root ==None:

return \[\]

queue = \[\]

final=\[\]

queue.append(root)

while queue!=\[\]:

left = len(queue)

final.append(queue0)

queue_next=\[\]

for i in range(left):

if queuei.left:

queue_next.append(queuei.left)

if queuei.right:

queue_next.append(queuei.right)

final.append(x.val for x in queue)

queue = queue_next

queue_next=\[\]

return final

直接使用广度优先搜索去做,但是需要注意的是,我们需要额外去维护一个每一个层的lsit

相关推荐
手写码匠13 小时前
MCP协议从零实现:手写一个完整的 Model Context Protocol 服务器与客户端
开发语言·数据结构
小陈phd13 小时前
QAnything 阅读优化策略03——查询转换
算法
良木生香13 小时前
【C++初阶】STL—— Stack & Queue 从入门到精通:容器适配器、迭代器与经典面试题
java·开发语言·c++·算法·zookeeper
小小晓.13 小时前
C++小白记:vector
开发语言·c++·算法
tkevinjd13 小时前
力扣72-编辑距离
算法·leetcode·职场和发展
小刘学技术14 小时前
AI人工智能决策树分类器:原理、实现与应用
开发语言·人工智能·python·算法·决策树·机器学习·数据挖掘
caimouse14 小时前
mm学习笔记_04:VAD树算法与地址空间分配
笔记·学习·算法·reactos
abcy07121314 小时前
flink窗口类型
开发语言·python·算法
什巳1 天前
JAVA练习309- 二叉树的层序遍历
java·数据结构·算法·leetcode
什巳1 天前
JAVA练习306- 翻转二叉树
java·数据结构·算法·leetcode