94. 二叉树的中序遍历 --递归
Posted 车辆狗的CV之旅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了94. 二叉树的中序遍历 --递归相关的知识,希望对你有一定的参考价值。
1)中序遍历:左子树--父亲节点--右子树
2)二叉树核心
当前节点: root.val
左子树:root.left
右子树:root.right
3)二次函数定义栏中不需要写self
递归法:
# 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: TreeNode) -> List[int]:
# 中序 :左子树-父亲节点--右子树
def compute(root:TreeNode) :
if not root :
return None
# 其实就是compute函数遍历到每个节点,该节点没有左子树了,就用 res.append(root.val) 解决自己。但是有层级区别
# 例如完全二叉树 1-2-3(1是根节点)
compute(root.left) # 一直往左走, 解决左子树 --- 解决2
res.append(root.val) #当往左走不动时(没有左子孙后),加入该节点--- 解决1
compute(root.right) # 一直往右走, 解决右子树
res = []
compute(root)
return res
以上是关于94. 二叉树的中序遍历 --递归的主要内容,如果未能解决你的问题,请参考以下文章