简单的递归,不过这次是用ts写的,希望越写越会!
class TreeNode {
val: number;
left: TreeNode | null;
right: TreeNode | null;
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
this.val = val === undefined ? 0 : val;
this.left = left === undefined ? null : left;
this.right = right === undefined ? null : right;
}
}
function preorderTraversal(root: TreeNode | null): number[] {
let result: number[] = [];
function dfs(root: TreeNode | null): void {
if (!root) {
return;
}
result.push(root.val);
if (root.left) {
dfs(root.left);
}
if (root.right) {
dfs(root.right);
}
}
dfs(root);
return result;
}
网友评论