二叉树的前序遍历
题目描述
题目地址:http://mtw.so/6c3fFC
题目要求:
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。
解题思路
- 二叉树特点是每个节点最多只能有两棵子树,且有左右之分,二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点
- 前序遍历,获取节点值顺序为:根=>左=>右
解题代码
function preorderTraversal( root ) {
// write code here
if(!root) return []
let ans = []
const queue = [root]
while(queue.length) {
const n = queue.pop()
ans.push(n.val)
if(n.right) queue.push(n.right)
if(n.left) queue.push(n.left)
}
return ans
}
module.exports = {
preorderTraversal : preorderTraversal
};