二叉树的前序遍历

题目描述

题目地址:http://mtw.so/6c3fFC
题目要求:

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

解题思路

  1. 二叉树特点是每个节点最多只能有两棵子树,且有左右之分,二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点
  2. 前序遍历,获取节点值顺序为:根=>左=>右

解题代码

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
};
posted @ 2022-08-10 22:28  fionna  阅读(38)  评论(0编辑  收藏  举报