给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
数据范围:二叉树的节点数量满足 ,二叉树节点的值满足 ,树的各节点的值各不相同
示例 1:
export function preorderTraversal(root: TreeNode): number[] { // write code here 非递归,利用栈 let stack: TreeNode[] = root ? [root] : []; let nums = []; let temp: TreeNode = null; while (stack.length > 0) { temp = stack.pop(); nums.push(temp.val); if (temp.right) stack.push(temp.right); if (temp.left) stack.push(temp.left); } return nums; }