力扣热题100之二叉树的层序遍历

题目

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

代码

借助队列进行层序遍历,广度优先搜索。

bash 复制代码
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        if not root:
            return []
        queue=deque([root])
        res=[]
        while queue:
            n=len(queue)
            cur=[]            
            for _ in range(n):                
                node=queue.popleft()
                cur.append(node.val)
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
            res.append(cur)
        return res       

或者不用队列,使用三个数组,一个用来存储每一层中的节点cur,一个用来遍历queue,一个用来存储每一层节点的值val

bash 复制代码
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        if not root:
            return []
        queue=[root]
        res=[]
        while queue:            
            cur=[]
            val=[]            
            for node in queue:
                val.append(node.val)
                if node.left:
                    cur.append(node.left)
                if node.right:
                    cur.append(node.right)
            queue=cur
            res.append(val)
        return res       
相关推荐
007php0072 分钟前
某大厂MySQL面试之SQL注入触点发现与SQLMap测试
数据库·python·sql·mysql·面试·职场和发展·golang
CodeCraft Studio3 分钟前
Excel处理控件Aspose.Cells教程:使用 Python 将 Pandas DataFrame 转换为 Excel
python·json·excel·pandas·csv·aspose·dataframe
空白到白15 分钟前
决策树-面试题
算法·决策树·机器学习
flashlight_hi16 分钟前
LeetCode 分类刷题:2563. 统计公平数对的数目
python·算法·leetcode
java1234_小锋17 分钟前
Scikit-learn Python机器学习 - 特征预处理 - 归一化 (Normalization):MinMaxScaler
python·机器学习·scikit-learn
星空的资源小屋30 分钟前
网易UU远程,免费电脑远程控制软件
人工智能·python·pdf·电脑
前端世界32 分钟前
HarmonyOS 数据处理性能优化:算法 + 异步 + 分布式实战
算法·性能优化·harmonyos
楼田莉子35 分钟前
C++算法专题学习:栈相关的算法
开发语言·c++·算法·leetcode
IMER SIMPLE36 分钟前
人工智能-python-深度学习-神经网络-MobileNet V1&V2
人工智能·python·深度学习
dragoooon3442 分钟前
[数据结构——lesson3.单链表]
数据结构·c++·leetcode·学习方法