LeeCode94二叉树的中序遍历

https://leetcode.cn/problems/binary-tree-inorder-traversal/description/

项目场景:

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

示例 1:

复制代码
输入:root = [1,null,2,3]
输出:[1,3,2]

示例 2:

复制代码
输入:root = []
输出:[]

示例 3:

复制代码
输入:root = [1]
输出:[1]

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

问题描述

二叉树的遍历对于理解数据结构树具有非常重要的意义,本篇文章面向初学数据结构的同学讲解二叉树的中序遍历。二叉树的中序遍历,即对于每一个节点,先访问左子树,再访问根节点,最后访问右子树。以示例一为实例,先访问根节点1的左子树,节点1的左子树为空,则访问根点1,进而访问节点1的右节点2,对于节点2先访问节点2的左子树,进而访问节点2,进而访问节点2的右节点,右节点为空,则跳过,所有节点都经遍历,那么遍历结束。整个过程中遍历得到的节点值放到一个列表中即可。

python 复制代码
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
        a=[]
        def dfs(node:Optional[TreeNode])->None:
            if node is None:
                return
            dfs(node.left)##先序遍历左子树
            a.append(node.val)##中序遍历根节点
            dfs(node.right)##后序遍历右子树
        dfs(root)
        return a

        

代码执行情况。

以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光!

相关推荐
蒙奇D索大7 分钟前
【数据结构】数据结构秘籍:如何衡量“查找”的快慢?ASL是关键!
数据结构·笔记·学习·考研
蒙奇D索大7 分钟前
【数据结构】考研重点掌握:顺序查找算法实现与ASL计算详解
数据结构·笔记·学习·考研·算法·改行学it
TTGGGFF8 分钟前
MATLAB仿真:编程基础实验全解析——从入门到实战
数据结构·算法·matlab
做运维的阿瑞10 分钟前
Python原生数据结构深度解析:从入门到精通
开发语言·数据结构·后端·python·系统架构
Ivanqhz10 分钟前
LR算法中反向最右推导(Reverse RightMost Derivation)
人工智能·算法
zl_dfq12 分钟前
数据结构 之 【图的最短路径】(Dijstra、BellmanFord、FloydWarShall算法实现)
数据结构·算法
Aobing_peterJr13 分钟前
树状数组的原理和简单实现:一种使用倍增优化并支持在线 O(log N) 修改、查询的数据结构
数据结构·算法
violet-lz16 分钟前
数据结构KMP算法详解:C语言实现
数据结构
孤客网络科技工作室20 分钟前
Python - 100天从新手到大师:第二十六天Python操作Word和PowerPoint文件
python·word·powerpoint
zzywxc78744 分钟前
AI赋能千行百业:金融、医疗、教育、制造业的落地实践与未来展望
java·人工智能·python·microsoft·金融·golang·prompt