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 Noneres.append(root.val) # 当前节点compute(root.left) # 左子树--若root.left还有左子树, 则在里面一直迭代compute(root.right) # 右子树res = []compute(root)return res
官方分析
后面两题均可按此方法解体, 只是顺序不同。
仔细体会迭代思想
