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

相关推荐
代码小将1 小时前
Leetcode209做题笔记
java·笔记·算法
Musennn2 小时前
leetcode 15.三数之和 思路分析
算法·leetcode·职场和发展
CM莫问5 小时前
<论文>(微软)避免推荐域外物品:基于LLM的受限生成式推荐
人工智能·算法·大模型·推荐算法·受限生成
康谋自动驾驶6 小时前
康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX
人工智能·科技·算法·机器学习·自动驾驶·汽车
C++ 老炮儿的技术栈6 小时前
什么是函数重载?为什么 C 不支持函数重载,而 C++能支持函数重载?
c语言·开发语言·c++·qt·算法
yychen_java7 小时前
R-tree详解
java·算法·r-tree
MarkHard1237 小时前
Leetcode (力扣)做题记录 hot100(62,64,287,108)
算法·leetcode·职场和发展
王RuaRua8 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表
一只鱼^_8 小时前
牛客练习赛138(首篇万字题解???)
数据结构·c++·算法·贪心算法·动态规划·广度优先·图搜索算法
一只码代码的章鱼8 小时前
Spring的 @Validate注解详细分析
前端·spring boot·算法