当前位置: 首页 > news >正文

二叉树的层次遍历

二叉树的层次遍历

描述

给你一个二叉树,请你返回其按 层次遍历 得到的节点值(即逐层地,从做到右访问所有节点)

代码

通过两个数组来交替打印

class Solution(object):def levelOrder(self, root):if root == None:return []stack = [root]secondStack = []ret = [[root.val]]while stack or secondStack:tempList = []while stack:                node = stack.pop(0)                if node.left:secondStack.append(node.left)tempList.append(node.left.val)if node.right:secondStack.append(node.right)tempList.append(node.right.val)if tempList != []:ret.append(tempList)tempList = []while secondStack:node = secondStack.pop(0)if node.left:stack.append(node.left)tempList.append(node.left.val)if node.right:stack.append(node.right)tempList.append(node.right.val)if tempList != []:ret.append(tempList)return ret
http://www.lryc.cn/news/518282.html

相关文章:

  • docker推送本地仓库报错
  • Python中的asyncio:高效的异步编程模型
  • Oopsie【hack the box】
  • 详细介绍 React 中 i18n 的完整使用流程:
  • 部署:上传项目代码 配置数据库
  • C++—9、如何在Microsoft Visual Studio中调试C++
  • 11. C 语言 作用域与变量使用技巧
  • 【机器学习案列】学生抑郁可视化及预测分析
  • Perl语言的循环实现
  • SpringBoot项目——使用Spark对爬虫爬取下的数据进行清洗
  • 分布式锁 Redis vs etcd
  • 《深度剖析:开源与闭源模型,AI舞台上的不同角色》
  • Angular结合C#
  • Spring——自动装配
  • Servlet与JSP:Java的秘密花园入口
  • 【Linux】Linux常见指令(上)
  • ELFK日志采集实战
  • Kubernetes 使用自定义资源(CRD)扩展API
  • 用户使用LLM模型都在干什么?
  • MySQL常用命令之汇总(Summary of Commonly Used Commands in MySQL)
  • 六年之约day10
  • springboot和vue配置https请求
  • selenium遇见伪元素该如何处理?
  • 慧集通(DataLinkX)iPaaS集成平台-数据质量
  • 微软发布AIOpsLab:一个开源的全面AI框架,用于AIOps代理
  • ElasticSearch | Elasticsearch与Kibana页面查询语句实践
  • 12.C语言中的struct详解:定义、赋值、指针、嵌套与位字段
  • 文件读写到SQLite数据库的方法
  • springboot项目部署至linux
  • 使用sed命令封装自定义dos2unix脚本