LeetCode刷题笔记第144题:二叉树的前序遍历
题目:
给你二叉树的根节点root ,返回它节点值的前序遍历。
想法:
前序遍历是通过根左右的方式遍历整个树,通过递归的方式遍历树
# 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 preorder(root: TreeNode):
if not root:
return
res.append(root.val)
preorder(root.left)
preorder(root.right)
res = list()
preorder(root)
return res
上述代码的时间复杂度为O(n),空间复杂度为O(n)