1. 二叉树前序遍历
1.1 递归
# 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: Optional[TreeNode]) -> List[int]:
def dfs(root: TreeNode):
if root is None: return
res.append(root.val)
dfs(root.left)
dfs(root.right)
res = []
dfs(root)
return res
1.2 迭代
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val