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

        

代码执行情况。

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

相关推荐
rgeshfgreh15 分钟前
Python流程控制:从条件到循环实战
前端·数据库·python
luoluoal19 分钟前
基于python大数据的电影市场预测分析(源码+文档)
python·mysql·django·毕业设计·源码
一叶知秋0627 分钟前
数据结构-什么是队列?
数据结构·队列
幻云201031 分钟前
Python深度学习:从入门到实战
人工智能·python
Jasmine_llq1 小时前
《CF280C Game on Tree》
数据结构·算法·邻接表·深度优先搜索(dfs)·树的遍历 + 线性累加统计
小棠师姐1 小时前
支持向量机(SVM)入门:超平面与核函数的通俗解释
算法·python机器学习·支持向量机svm·超平面可视化·核函数应用
zhongvv1 小时前
对单片机C语言指针的一些理解
c语言·数据结构·单片机·指针·汇编语言
Zoey的笔记本1 小时前
敏捷与稳定并行:Scrum看板+BPM工具选型指南
大数据·前端·数据库·python·低代码
im_AMBER1 小时前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
今儿敲了吗2 小时前
01|多项式输出
c++·笔记·算法