首页 > 其他分享 >二叉树 | 迭代法 102.二叉树的层序遍历 429. N 叉树的层序遍历 226.翻转二叉树

二叉树 | 迭代法 102.二叉树的层序遍历 429. N 叉树的层序遍历 226.翻转二叉树

时间:2024-05-19 18:19:48浏览次数:30  
标签:遍历 层序 queue item right 二叉树

leetcode 102.二叉树的层序遍历

题目

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

解题思路

实现代码

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 []
        
        res = []
        queue = collections.deque([root])
        while queue:
            level = []
            for _ in range(len(queue)):
                item = queue.popleft()
                level.append(item.val)

                if item.left:
                    queue.append(item.left)
                if item.right:
                    queue.append(item.right)
            res.append(level)
        return res

标签:遍历,层序,queue,item,right,二叉树
From: https://www.cnblogs.com/wanglin2016/p/18200557

相关文章

  • 二叉树的递归遍历 144.二叉树的前序遍历 145.二叉树的后序遍历 94.二叉树的中序遍历
    leetcode144.二叉树的前序遍历题目xxx解题思路实现代码leetcode145.二叉树的后序遍历题目xxx解题思路实现代码leetcode94.二叉树的中序遍历题目xxx解题思路实现代码......
  • algo 完全二叉树
    性质1:左子树的深度等于右子树---左为满,右为完全左子树的深度大于右子树---左为完全,右为满一个完全二叉树的左右子树都是完全二叉树不断递归之后---最后都是满二叉树---只剩一个节点性质2:可以和位运算进行结合https://leetcode.cn/problems/count-complete-tre......
  • DataStruct 二叉树
    二叉树的分类满二叉树:节点数量:$2^k-1$完全二叉树:应用:heap二叉搜索树规则:左不空,则左右节点都小于根节点右不空,则右变的节点都大于根节点左右子树都是二叉搜做树平衡二叉搜索树AVL(Adelson-VelskyandLandis)树左右子树的高度差的绝对值小于1应用:......
  • QStandardItemModel遍历查找搜索关键字
    (1)findItems查找内容筛选项,只能查找显示的文字中是否包含该文字,但是QList<QStandardItem*>findItems(constQString&text,Qt::MatchFlagsflags=Qt::MatchExactly,intcolumn=0)const;(2)mat......
  • QStandardItemModel 遍历勾选的项
    QStandardItemModel遍历勾选的项rowCount()不能传入 m_model->index(0,0)根节点,无法获取行数;不传,或者传入一个空QModelIndex对象,可以获取到第一级节点的数量;QMap<QString,QVariantMap>mapSelectVideo;introotRowCount=m_model->rowCount();for(inti=0;i<ro......
  • 数据结构学习笔记-先序遍历森林
    先序遍历森林问题描述:设计算法输出先序遍历的森林节点及其所在的层次【算法设计思想】1.数据结构定义首先,定义二叉树节点的数据结构。每个节点包含存储数据的data字段,以及指向左右子节点的指针(lChild和rChild)。这种数据结构是二叉树和森林表示的基础。2.先序遍历单棵树设......
  • Object.values()对象遍历
    Object.keys() 对象的遍历 返回给定对象所有可枚举属性的数组;是属性名组成的数组letobj={a:1,b:2,c:3};Object.keys(obj).map((key)=>{console.log(key,obj[key]);}); Object.values() 对象的遍历返回一个给定对象自身的所有属性值的......
  • 目录遍历(Pikachu)
    原理Web安全-目录遍历漏洞_百度搜索文件遍历漏洞-CSDN博客防御1.对用户的输入进行验证,特别是路径替代字符如“../”和“~/”。2.尽可能采用白名单的形式,验证所有的输入。3.合理配置Web服务器的目录权限。4.当程序出错时,不要显示内部相关配置细节。5.对用户传过来的文件名......
  • js 遍历数组取出字符串用逗号拼接
    var arr=[{"name":"hhh"},{"name":"dddd"}] //用jsfunction getTextByJs(){    var str= "";    for (var i=0;i<arr.length;i++){        str+=arr[i].name+ ",";    }    //去掉最后一个逗号(如......
  • 问文心一言——C# 遍历datagridview单元格 不用嵌套循环
    问:C#遍历datagridview单元格不用嵌套循环答:在C#中遍历DataGridView的单元格通常意味着你需要遍历行(Rows)并在每行中遍历单元格(Cells)。然而,如果你想要避免嵌套循环的“感觉”,你可以使用LINQ(LanguageIntegratedQuery)或者一个简单的foreach循环配合委托或Lambda表达式来“扁平化......