国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

【刷算法】求二叉樹(shù)深度的遞歸以及非遞歸解法

Carl / 1675人閱讀

摘要:題目描述輸入一棵二叉樹(shù),求該樹(shù)的深度。遞歸解法非遞歸解法原來(lái)標(biāo)識(shí)當(dāng)前層是否遍歷完畢當(dāng)前彈出元素為時(shí),說(shuō)明一層以及遍歷完畢了,所以最后一層的彈出時(shí)不能再往隊(duì)列里面加了

題目描述

輸入一棵二叉樹(shù),求該樹(shù)的深度。從根結(jié)點(diǎn)到葉結(jié)點(diǎn)依次經(jīng)過(guò)的結(jié)點(diǎn)(含根、葉結(jié)點(diǎn))形成樹(shù)的一條路徑,最長(zhǎng)路徑的長(zhǎng)度為樹(shù)的深度。

遞歸解法
function TreeNode(x) {
    this.val = x;
    this.left = null;
    this.right = null;
}
function Depth(r) {
    if(r === null)
        return  0;
    return Math.max(Depth(r.left), Depth(r.right))+1;
}
非遞歸解法
function TreeDepth(r)
{
    if(r === null)
        return 0;
    var q = [];
    var depth = 0;
    q.push(r);
    // null原來(lái)標(biāo)識(shí)當(dāng)前層是否遍歷完畢
    q.push(null);
    
    while(q.length !== 0){
        var cur = q.shift();
        // 當(dāng)前彈出元素為null時(shí),說(shuō)明一層以及遍歷完畢了,所以depth+1
        if(cur === null){
            depth++;
            if(q.length!==0)
                // 最后一層的null彈出時(shí)不能再往隊(duì)列里面加null了
                q.push(null);
        } 
        else{
            if(cur.left !== null)
                q.push(cur.left);
            if(cur.right !== null)
                q.push(cur.right);
        }
    }
    
    return depth;
}


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/95634.html

相關(guān)文章

  • 叉樹(shù)那些事兒

    摘要:大家在聊到二叉樹(shù)的時(shí)候,總會(huì)離不開(kāi)鏈表。受限線性表主要包括棧和隊(duì)列,受限表示對(duì)結(jié)點(diǎn)的操作受限制。存儲(chǔ)結(jié)構(gòu)線性表主要由順序表示或鏈?zhǔn)奖硎尽f準(zhǔn)奖硎局傅氖怯靡唤M任意的存儲(chǔ)單元存儲(chǔ)線性表中的數(shù)據(jù)元素,稱(chēng)為線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。 大家在聊到二叉樹(shù)的時(shí)候,總會(huì)離不開(kāi)鏈表。這里先帶大家一起了解一些基本概念。 線性表 概念 線性表是最基本、最簡(jiǎn)單、也是最常用的一種數(shù)據(jù)結(jié)構(gòu)。 線性表中數(shù)據(jù)元素之間的關(guān)...

    Little_XM 評(píng)論0 收藏0
  • 面試準(zhǔn)備過(guò)程--二叉樹(shù)(更新中)

    摘要:寫(xiě)在最前面導(dǎo)師貪腐出逃美國(guó),兩年未歸,可憐了我。拿了小米和美團(tuán)的,要被延期,失效,工作重新找。把準(zhǔn)備過(guò)程紀(jì)錄下來(lái),共勉。 寫(xiě)在最前面 導(dǎo)師貪腐出逃美國(guó),兩年未歸,可憐了我。拿了小米和美團(tuán)的offer,要被延期,offer失效,工作重新找。把準(zhǔn)備過(guò)程紀(jì)錄下來(lái),共勉。 二叉樹(shù)的基礎(chǔ) 結(jié)點(diǎn)定義 public class TreeNode{ int val; TreeNode ...

    Amio 評(píng)論0 收藏0
  • 算法】翻轉(zhuǎn)二叉樹(shù)遞歸遞歸解法

    摘要:題目描述操作給定的二叉樹(shù),將其變翻轉(zhuǎn)為源二叉樹(shù)的鏡像。輸入描述解題思路遞歸版本首先,對(duì)數(shù)據(jù)結(jié)構(gòu)比較了解的話會(huì)想到用遞歸來(lái)解決。所謂遞歸,在計(jì)算機(jī)科學(xué)中是指一種通過(guò)重復(fù)將問(wèn)題分解為同類(lèi)的子問(wèn)題而解決問(wèn)題的方法來(lái)自維基百科。 題目描述 操作給定的二叉樹(shù),將其變翻轉(zhuǎn)為源二叉樹(shù)的鏡像。 輸入描述: 1 1 / ...

    wangbjun 評(píng)論0 收藏0
  • Javacript二叉樹(shù)常見(jiàn)算法實(shí)現(xiàn)及快速排序求第K大值

    摘要:后面也寫(xiě)了幾種常見(jiàn)的排序算法,并用快排求第大值,另外如果之前版的作者看到的話可以留言,我會(huì)標(biāo)明文章引用。 之前實(shí)習(xí)筆試的時(shí)候刷題一直用的java,也參考某篇文章寫(xiě)過(guò)java版的二叉樹(shù)常見(jiàn)算法,因?yàn)轳R上要轉(zhuǎn)正面試了,這幾天都在準(zhǔn)備面試,就把之前的翻出來(lái)用javascript重新寫(xiě)了一遍,二叉樹(shù)基本都是遞歸處理的,也比較簡(jiǎn)單,就當(dāng)做熱身。后面也寫(xiě)了幾種常見(jiàn)的排序算法,并用快排求第K大值,另...

    leeon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Carl

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<