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

JAVA算法练习题day32

41.二叉树的层序遍历

# 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]]"""# 注意要return 的是二维的listres = []if root is None:return resqueue = deque([root])while queue :level_len = len(queue)level = []for _ in range(level_len):#你的代码思路是正确的(用队列实现层序遍历,按层收集节点值),但存在一个关键问题:队列弹出元素的方向错误,导致每层节点的顺序可能颠倒。以下是修正后的代码及解释:问题分析:队列(Queue)的特性是 “先进先出(FIFO)”,而你使用了 queue.pop() 从队列尾部弹出元素(这是栈的 “后进先出” 操作),会导致当前层的节点被反向处理(例如,本应左到右的节点会变成右到左)。正确的做法是用 queue.popleft() 从队列头部弹出元素,符合层序遍历 “从左到右” 的顺序。node = queue.popleft()if node.left is not None:queue.append(node.left)if node.right is not None:queue.append(node.right)level.append(node.val)res.append(level)return res

http://www.dtcms.com/a/454087.html

相关文章:

  • 网站添加设置着陆页唐山网站优化
  • 做婚纱网站的目的seo的主要工作是什么
  • 上海哪家做网站校园无线网络设计方案
  • 深入解析Doris ZoneMap索引机制
  • (1)SwiftUI基础入门教程
  • wordpress整站搬家教程河池做网站
  • 怎么改版一个网站白酒网站设计
  • windows显示驱动开发-节能与 VSync 控制
  • 安徽省住房和城乡建设厅官方网站网站访问量大
  • 好的平面设计网站有哪些易云巢做营销型网站
  • 从0死磕全栈之Next.js 中的错误处理机制详解(App Router)
  • c语言贪吃蛇游戏开发
  • 360网站seo优化怎么做简单网站
  • 小说网站静态模板设计师设计费一般多少
  • 网站主机要怎么做跨境电商交3980元培训费可信吗
  • Coze源码分析-资源库-编辑知识库-后端源码-流程/技术/总结
  • 哺乳动物双等位基因表达的 “守护者”--解析 MSL2对基因剂量平衡与疾病机制的新启示--文献精读164
  • 阿里云网站建设需要多少钱开发软件公司都有哪些
  • CTFHub SQL注入通关笔记4:布尔盲注(手注法+脚本法)
  • 虎书Fundamentals Of Computer Graphics翻译及笔记(1)——前言
  • 建网站公司室内设计效果图网站推荐
  • 网站建设收徒弟设计韩国电影完整版下载
  • 应聘网站优化的简历怎么做全新升级网站
  • 我的第一个网站
  • windows下将redis注册为windows服务
  • IT架构中的前后中台:SuperCell与阿里中台战略启示
  • 外贸工厂的网站建设长沙做网站智投未来
  • 国外商品网站企业微网站建站
  • 第六章 面向对象编程(基础部分)
  • 接口联调常见错误排查:从400 Bad Request到502 Gateway