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

相关推荐
程序员阿鹏9 分钟前
简单介绍一下软引用
java·开发语言·jvm·数据结构·后端
青山是哪个青山9 分钟前
LeetCode 123:买卖股票的最佳时机 III
算法
Zane199433 分钟前
写对二分查找有多难?Java集合框架的作者也曾栽在一行mid计算上
算法
Lokey86833 分钟前
transformer结构
算法
罗斯83940 分钟前
EMBER恶意软件基准数据集
人工智能·算法·安全·网络安全
0+1111 小时前
算法 --二分查找
c++·算法·leetcode
Omics Pro1 小时前
新型条件传输模型!虚拟细胞扰动预测
数据库·人工智能·算法·机器学习·自然语言处理
爱奥尼欧2 小时前
【C++】map、set 的底层是什么?红黑树五条性质、插入旋转到模拟实现
开发语言·数据结构·c++
黄金龙PLUS2 小时前
5个800比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
政企项目老覃2 小时前
大模型 Agent 自主任务编排:电商客服地址解析从 12% 失败率到 2.1% 的落地复盘
人工智能·程序人生·算法