144. 二叉树的前序遍历 --递归
第一次接触二叉树,先学习用递归的方法。迭代暂时还没看懂
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 preorderTraversal(self, root: TreeNode) -> List[int]:
def compute(root:TreeNode) :
if not root :
return None
res.append(root.val) # 当前节点
compute(root.left) # 左子树--若root.left还有左子树, 则在里面一直迭代
compute(root.right) # 右子树
res = []
compute(root)
return res
官方分析
后面两题均可按此方法解体, 只是顺序不同。
仔细体会迭代思想