二叉树的前序遍历easy DFS
题目描述:给你二叉树的根节点 root ,返回其节点值的前序遍历 。 (即逐层地,从左到右访问所有节点)。
example1:
输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]
example2:
输入:root = [1]
输出:[[1]]
example3:
输入:root = []
输出:[]
解题思路
DFS 遍历,根据前序遍历的顺序收集节点数据信息,最后输出即可
解题方法
1. DFS
typescript
function preorderTraversal(root: TreeNode | null): number[] {
const res: number[] = []
if (!root) {
return res
}
function dfs(node: TreeNode | null) {
if (!node) {
return
}
res.push(node.val)
dfs(node.left)
dfs(node.right)
}
dfs(root)
return res
}
2. 另一种 DFS
typescript
function preorderTraversal(root: TreeNode | null): number[] {
const res: number[] = []
if (!root) {
return res
}
res.push(root.val)
res.push(...preorderTraversal(root.left))
res.push(...preorderTraversal(root.right))
return res
}