二叉树的前序遍历
递归解法
var result = [] function preorderTraversal( root ) { // write code here if(!root){return []} result.push(root.val) preorderTraversal(root.left) preorderTraversal(root.right) return result }
迭代解法
/* * function TreeNode(x) { * this.val = x; * this.left = null; * this.right = null; * } */ /** * * @param root TreeNode类 * @return int整型一维数组 */ function preorderTraversal( root ) { // write code here var stack = [] var result = [] var current = root while(current || stack.length){ while(current){ result.push(current.val) stack.push(current.right) current = current.left } current = stack.pop() } return result } module.exports = { preorderTraversal : preorderTraversal };
树算法 文章被收录于专栏
树相关算法