劍指offer-js 二叉樹從上到下打印

二叉樹從上到下打印

題目描述:

從上往下打印出二叉樹的每個節點,同層節點從左至右打印。

問題分析:

從上到下遍歷,自然要記住順序,那麼一個數組用來存節點,一個用來存要打印的值

按照順序:
	res 添加值,queue添加節點,按照左右順序添加,這樣,每次從queue中出隊的時候都有順序

代碼展示:

/* function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
} */

function PrintFromTopToBottom(root)
{
    // write code here
    if(root == null)
        return [];
    var queue = [];    //存儲節點,刪除節點
    var res = [];    //存儲節點的值,return

    queue.push(root);
    
    while (queue.length){
        var node = queue.shift();//返回arr數組中的第一個元素
        res.push(node.val); //將節點的值放入res中,return
        if (node.left){ //左兒子
            queue.push(node.left);
        } 
        if (node.right){    //右兒子
            queue.push(node.right);
        } 
    }
    return res;

    
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章