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

        

代码执行情况。

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

相关推荐
课堂剪切板35 分钟前
ch07 题解
算法·深度优先
June bug41 分钟前
【Python基础】变量、运算与内存管理全解析
开发语言·python·职场和发展·测试
R_AirMan1 小时前
深入浅出Redis:一文掌握Redis底层数据结构与实现原理
java·数据结构·数据库·redis
蹦蹦跳跳真可爱5891 小时前
Python----OpenCV(几何变换--图像平移、图像旋转、放射变换、图像缩放、透视变换)
开发语言·人工智能·python·opencv·计算机视觉
蹦蹦跳跳真可爱5891 小时前
Python----循环神经网络(Transformer ----Layer-Normalization(层归一化))
人工智能·python·rnn·transformer
m0_625686551 小时前
Day58
python
夜阳朔1 小时前
Conda环境激活失效问题
人工智能·后端·python
m0_723140232 小时前
Python训练营-Day49
开发语言·python
科大饭桶2 小时前
数据结构自学Day5--链表知识总结
数据结构·算法·leetcode·链表·c
小高Baby@2 小时前
map数据结构在Golang中是无序的,并且键值对的查找效率较高的原因
数据结构