vlambda博客
学习文章列表

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 = rightclass 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



官方分析



后面两题均可按此方法解体, 只是顺序不同。 

仔细体会迭代思想