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: Optional[TreeNode]

:rtype: List[List[int]]

"""

广度优先搜索

if root ==None:

return []

queue = []

final=[]

queue.append(root)

while queue!=[]:

left = len(queue)

final.append(queue[0])

queue_next=[]

for i in range(left):

if queue[i].left:

queue_next.append(queue[i].left)

if queue[i].right:

queue_next.append(queue[i].right)

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

queue = queue_next

queue_next=[]

return final

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

相关推荐
※DX3906※9 分钟前
Java排序算法--全面详解面试中涉及的排序
java·开发语言·数据结构·面试·排序算法
木斯佳38 分钟前
HarmonyOS 6实战:从爆款vlog探究鸿蒙智能体提取关键帧算法
算法·华为·harmonyos
Mr.朱鹏1 小时前
JVM-GC垃圾回收案例
java·jvm·spring boot·算法·spring·spring cloud·java-ee
WJSKad12352 小时前
【DepthPro】实战教程:单目深度估计算法详解与应用
算法
wzqllwy2 小时前
8 大经典排序算法(Java 实现):原理 + Demo + 核心分析
java·算法·排序算法
We་ct2 小时前
LeetCode 77. 组合:DFS回溯+剪枝,高效求解组合问题
开发语言·前端·算法·leetcode·typescript·深度优先·剪枝
重生之我是Java开发战士2 小时前
【递归、搜索与回溯】二叉树中的深度优先搜索:布尔二叉树,求根节点到叶节点数字之和,二叉树剪枝,验证二叉搜索树,第K小的元素,二叉树的所有路径
算法·深度优先·剪枝
篮l球场2 小时前
矩阵置零
算法
lihihi2 小时前
P1650 [ICPC 2004 Shanghai R] 田忌赛马(同洛谷2587)
开发语言·算法·r语言
朱一头zcy2 小时前
[牛客]BC38 变种水仙花
算法