二叉树的前序遍历

🎯 问题描述(来源于LeetCode)

描述
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
说明

  • 树中节点数目在范围 [0, 100] 内
  • -100 <= Node.val <= 100

示例

  • 示例 1:
1
2
输入:root = [1,null,2,3]
输出:[1,2,3]
  • 示例 2:
1
2
输入:root = [1,2,3,4,5,null,8,null,null,6,7,9]
输出:[1,2,4,5,6,7,3,8,9]

💻 解题思路

思路1:递归

思路1:代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 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]:
res=[]
def PreOrder(Node):
if not Node:
return
res.append(Node.val)
PreOrder(Node.left)
PreOrder(Node.right)
PreOrder(root)
return res

思路1:📊 性能分析

提交结果
  • 运行时间:0ms击败100.00%
  • 内存消耗:19.24MB击败19.11%
复杂度验证
  • 时间复杂度:O(N)O(N)
  • 空间复杂度:O(N)O(N)