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

力扣-数据结构-二叉树

94. 二叉树的中序遍历

给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。

示例 1:

输入:root = [1,null,2,3]
输出:[1,3,2]

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [1]
输出:[1]

方法一:递归实现(最简单)

# Definition for a binary tree node.
class TreeNode:def __init__(self, val=0, left=None, right=None):self.val = valself.left = leftself.right = rightclass Solution:def inorderTraversal(self, root: TreeNode) -> list[int]:result = []def dfs(node):if not node:returndfs(node.left)result.append(node.val)dfs(node.right)dfs(root)return result

方法二:迭代实现(使用栈)

class Solution:def inorderTraversal(self, root: TreeNode) -> list[int]:result = []stack = []current = rootwhile current or stack:while current:stack.append(current)current = current.left  # 一直往左走current = stack.pop()result.append(current.val)current = current.right  # 然后往右走return result

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

相关文章:

  • 20250429在Ubuntu 20.04.6下安装VMware Workstation16
  • 三种机器学习类型
  • SDC命令详解:使用get_nets命令进行查询
  • 目标检测和目标跟踪的区别与联系
  • 前端——CSS1
  • IAP远程升级入门讲解
  • ​Indira量化APP集成IAS 2.0服务器矩阵协议,正式更新上线苹果App Store
  • conda添加新python版本环境,如何激活和销毁
  • 【MCP Node.js SDK 全栈进阶指南】高级篇(4):自定义传输层开发
  • 云钥科技红外短波工业相机
  • -webkit-line-clamp 的渲染机制
  • (2)python之虚拟环境管理工具venv和anaconda
  • TRAE历史版本下载参考
  • 【LeetCode】彩灯装饰记录 III
  • YOLO12改进-模块-引入边缘 - 可学习局部显著核模块LLSKM 引导网络捕捉小目标的点、边缘等显著特征,提升检测敏感性与多尺度适应性。
  • 为网页LOGO视频增加电影质感表现
  • 论文阅读的三个步骤
  • 【语法】C++的继承
  • 篮球足球体育球员综合资讯网站模板
  • hutools工具类中isNotEmpty与isNotBlank区分
  • 关闭正点原子atk-qtapp-start.service
  • 企业办公协同平台安全一体化生态入住技术架构与接口标准分析报告
  • Day16(贪心算法)——LeetCode45.跳跃游戏II763.划分字母区间
  • 机器学习实操 第一部分 机器学习基础 第6章 决策树
  • 高定电视,一场关于生活方式的觉醒
  • 基于 ARM 的自动跟拍云台设计
  • 第六章 QT基础:7、Qt中多线程的使用
  • Vue常用的修饰符有哪些有什么应用场景(含deep seek讲解)
  • 嵌入式设备异常掉电怎么办?
  • 第三方软件测试报告如何凭借独立公正与专业权威发挥关键作用?