20201027
给定一个二叉树,返回它的 前序 遍历。
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,2,3]
思路:
抛砖引玉
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {TreeNode} root
* @return {number[]}
*/
var preorderTraversal = function(root) {
let _result = []
function dfs(node) {
if (node === null) return
_result.push(node.val)
if (node.left) dfs(node.left)
if (node.right) dfs(node.right)
}
dfs(root)
return _result
}
var preorderTraversal = function(root) {
if (root === null) return []
let queue = [root],
_result = [],
node = queue.pop()
while (queue.length || node !== null) {
while (node != null) {
_result.push(node.val)
queue.push(node)
// 处理左子树
node = node.left
}
node = queue.pop()
// 处理右子树
node = node.right
}
return _result
}
博客: 前端小书童
每天的每日一题,写的题解会同步更新到公众号一天一大 lee 栏目 欢迎关注留言
公众号:前端小书童