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

        

代码执行情况。

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

相关推荐
浮链序26 分钟前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室27 分钟前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
用户8356290780511 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
圣保罗的大教堂1 小时前
leetcode 301. 删除无效的括号 困难
leetcode
liliangcsdn1 小时前
派息率指标的应用探索和分析
大数据·算法
for_ever_love__1 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户8356290780511 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_461769402 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
垆边人似月.2 小时前
华为机试题 :两数之和
c++·算法·华为
默默开发2 小时前
物流行业可用算法方向
算法