首页 > 其他分享 >day12

day12

时间:2024-06-11 20:12:13浏览次数:17  
标签:cur level self queue levels day12 append

今天是day12
第一题为二叉树的层序遍历

"遍历长度法"
"借用队列,将root加入其中"
class Solution:
    def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        if not root:
            return []
        queue = collections.deque([root])
        result = []
        while queue:
            level = []
            "遍历queue"
            for _ in range(len(queue)):
                "左弹出并将值加入level中"
                cur = queue.popleft()
                level.append(cur.val)
                "开始层序遍历"
                if cur.left:
                    queue.append(cur.left)
                if cur.right:
                    queue.append(cur.right)
            result.append(level)
        return result
"递归法暂且不知何意"
class Solution:
    def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        levels = []
        self.helper(root,0,levels)
        return levels
    def helper(self,node,level,levels):
        if not node:
            return 
        if len(levels) == level:
            levels.append([])
        levels[level].append(node.val)
        self.helper(node.left,level+1,levels)
        self.helper(node.right,level+1,levels)

标签:cur,level,self,queue,levels,day12,append
From: https://www.cnblogs.com/leisure535/p/18242635

相关文章

  • Vue从入门到实战Day12~14 - Vue3大事件管理系统
    一、用到的知识Vue3compositionAPIPinia/Pinia持久化处理ElementPlus(表单校验,表格处理,组件封装)pnpm包管理升级Eslint+prettier更规范的配置husky(Githooks工具):代码提交之前,进行校验请求模块设计VueRouter4路由设计AI大模型开发一整个项目模块(掌握最新的开发方式)·......
  • Testing Egineer note:2024_5_20-day12-part01
    管理工具禅道一、禅道的介绍(1)定义禅道是一个项目管理工具,也是一个bug管理工具,还是一个用例管理工具。(2)作用:为了解决众多企业在管理中出现混乱,无序的现象,开发出来(3)来源:禅道属易软天川公司(4)禅道是集于产品管理,项目管理,测试管理于一身,同时包含事务管理,组织管理8众多功能,是中小企......
  • m1_day12
    课程内容:单例模式:Java中的接口单例模式:控制一个类有且只有一个对象醉汉式私有化构造方法防止外界随意的创建对象创建一个私有的静态的属于本类类型的对象提供一个公共的静态的返回本类对象的方法懒汉式-》尚不完善Java中的接口:interface相......
  • day12_我的Java学习笔记 (package包、权限修饰符_private+缺省+protected+public、fin
    1.包IDEA配置自动导包:2.权限修饰符同一个类中的,【private、缺省、protected、public】都可以访问同一个包中的其他类,【private】不可以访问,【缺省、protected、public】都可以访问不同包下的无关类,【private、缺省、protected】都不可以访问,只有【public......
  • day12-内置模块和开发规范
    1.内置模块1.1jsonjson模块,是python内部的一个模块,可以将python的数据格式转换为json格式的数据,也可以将json格式的数据转换为python的数据格式。json格式,是一个数据格式(本质上就是个字符串,常用语网络数据传输)#Python中的数据类型的格式data=[{"id":1,"name":"......
  • day12- 函数
    我们学习编程的时候,一学到函数就感觉很难,其实函数很简单,听我给你细细道来,在我们之前的学习中,我们最常用的一个操作,打印输出print(),其实这就是我们最先接触的函数,只不过这是由Python源码中编写好的函数,那我们来看下print()函数到底是怎么写的?从中我们可以看到用到def关键字,然......
  • Java抽象类详解:定义、特性与实例化限制(day12)
    抽象类总结一下今天老师上课的内容,前面几节课听得是有点懵,在讲到内存问题,也就是代码在栈、堆、以及方法区是怎么执行的,听得不是很懂,今天讲到抽象类以及重写的机制,似乎开始慢慢懂得了java的底层原理。父类:子类:上面的Cat类重写父类的eat()方法。Test:如果我们将父类的......
  • 学点儿数据库_Day12_数据库SQL练习题
    0版本与工具mysql-8.0.31NavicatPremium16每做一题,选中相应代码运行即可,很方便1建表createtablegoods(goods_idmediumint(8)unsignedprimarykeyauto_increment,goods_namevarchar(120)notnulldefault'',cat_idsmallint(5)unsignednotnu......
  • 暑期集训 Day12 —— 模拟赛复盘
    ${\color{Green}\mathrm{Problem\1:Subarray}}$Map.${\color{Green}\mathrm{Problem\2:小z玩游戏}}$数学题YYDS。我的做法是:首先枚举x的所有二进制位,找里面的\(1\),由于y要比x小,于是我们可以把y的当前位变为\(0\),然后后面的位从全0到全1,用前缀和统......
  • day12_文件权限篇
    文件、用户权限管理普通用户超级用户用户组不同的用户,以及不同的组,对于linux的文件操作,权限高地,权限不同。读取cat,more,tail写入echo追加,vim编辑,cat重定向修改,修改文件属性,mv改名字,修改文件权限执行,文件中写的是可执行的语句,如bash语句,python的脚本文件​ 执行一......