Leetcode94.二叉树的中序遍历
给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
输出: [1,3,2]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
来源:力扣(LeetCode)
链接:二叉树的中序遍历
二叉树的四种遍历方法
遍历二叉树:如何按某条搜索路径巡防树中的每个节点,使得每个节点均被访问一次,而且仅被访问一次。
1.先序遍历
若二叉树为空,则空操作;否则:
(1)访问根节点;
(2)先序遍历左子树;
(3)先序遍历右子树;
2.中序遍历
若二叉树为空,则空操作;否则:
(1)中序遍历左子树;
(2)访问根节点;
(3)中序遍历右子树;
3.后序遍历
若二叉树为空,则空操作;否则:
(1)后序遍历左子树;
(2)后序遍历右子树;
(3)访问根节点;
4.按层次遍历
若二叉树为空,则空操作,否则从根节点开始按层次遍历二叉树的每一层。
Python题解
递归求解
'''
主页有①蓝桥杯VIP题目提交渠道,超详细截图教程。
②蓝桥杯题库赛题Python代码解析
③python版的数据结构和算法,并且配备各阶段的例题,适合新手入门看。
欢迎关注=.=,如果这个博客对你有帮助的话可以点个赞,有问题
或者别的意见可以在评论下方提出,我看到会及时回复,谢谢~
另外,刚刚上手Python的同学可以参考菜鸟教程学习:
https://www.runoob.com/python3.html
'''
class Solution(object):
def inorderTraversal(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
res = []
def dfs(root):
if not root:
return
# 按照 左-打印-右的方式遍历
dfs(root.left)
res.append(root.val)
dfs(root.right)
dfs(root)
return res
'''个人的一些补充,关于Treenode:
TreeNode 树形结构
package java2019;
public class TreeNode {
int val;#节点的值
TreeNode left;
TreeNode right;
TreeNode(int val){
this.val=val;
}
}
'''
迭代求解
待补充
标记节点状态求解
待补充
参考
1.《数据结构》严蔚敏版
2.https://blog.youkuaiyun.com/u013834525/article/details/80421684