国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JZ32 從上往下打印二叉樹(Java)

這篇具有很好參考價(jià)值的文章主要介紹了JZ32 從上往下打印二叉樹(Java)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

題目地址:從上往下打印二叉樹_??皖}霸_??途W(wǎng)
題目回顧:

不分行從上往下打印出二叉樹的每個(gè)節(jié)點(diǎn),同層節(jié)點(diǎn)從左至右打印。例如輸入{8,6,10,#,#,2,1},如以下圖中的示例二叉樹,則依次打印8,6,10,2,1(空節(jié)點(diǎn)不打印,跳過(guò)),請(qǐng)你將打印的結(jié)果存放到一個(gè)數(shù)組里面,返回。

JZ32 從上往下打印二叉樹(Java),力扣刷題,算法,數(shù)據(jù)結(jié)構(gòu),java

JZ32 從上往下打印二叉樹(Java),力扣刷題,算法,數(shù)據(jù)結(jié)構(gòu),java

解題思路:
使用隊(duì)列

首先,隊(duì)列是尾部插入,頭部刪除的一種數(shù)據(jù)結(jié)構(gòu)。在遍歷樹的過(guò)程中使用層序遍歷的話,是從根開始由左向右進(jìn)行遍歷的,那么我們?cè)诒闅v樹的時(shí)候?qū)?dāng)前根的結(jié)點(diǎn)存入到隊(duì)列中去,遍歷到結(jié)點(diǎn)時(shí)將其從隊(duì)列中刪除,這樣一來(lái),隊(duì)列poll方法獲取的隊(duì)列的頭就是按從上到下順序的。也就是我們要的結(jié)果。

JZ32 從上往下打印二叉樹(Java),力扣刷題,算法,數(shù)據(jù)結(jié)構(gòu),java文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-643419.html

整體代碼:
    public static ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
        ArrayList<Integer> res = new ArrayList<>();

        if (root == null)
            return res;

        Queue<TreeNode> q = new LinkedList<>();
        q.offer(root);
        while (!q.isEmpty()){
            TreeNode cur = q.poll();
            res.add(cur.val);
            if (cur.left!=null){
                q.add(cur.left);
            }
            if (cur.right != null)
                q.add(cur.right);
        }
        return res;
    }

到了這里,關(guān)于JZ32 從上往下打印二叉樹(Java)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Leetcode-每日一題【劍指 Offer 32 - II. 從上到下打印二叉樹 II】

    Leetcode-每日一題【劍指 Offer 32 - II. 從上到下打印二叉樹 II】

    從上到下按層打印二叉樹,同一層的節(jié)點(diǎn)按從左到右的順序打印,每一層打印到一行。 例如: 給定二叉樹:? [3,9,20,null,null,15,7] , ??? 3 ?? / ? 9? 20 ??? /? ?? 15?? 7 返回其層次遍歷結(jié)果: [ ? [3], ? [9,20], ? [15,7] ] 提示: 節(jié)點(diǎn)總數(shù) = 1000 1.題目要求我們從上到下按層打印二

    2024年02月12日
    瀏覽(15)
  • Leetcode-每日一題【劍指 Offer 32 - III. 從上到下打印二叉樹 III】

    Leetcode-每日一題【劍指 Offer 32 - III. 從上到下打印二叉樹 III】

    請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù)按照之字形順序打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右到左的順序打印,第三行再按照從左到右的順序打印,其他行以此類推。 例如: 給定二叉樹:? [3,9,20,null,null,15,7] , ??? 3 ?? / ? 9? 20 ??? /? ?? 15?? 7 返回其層次遍歷結(jié)果:

    2024年02月12日
    瀏覽(25)
  • LeetCode——從上到下打印二叉樹 II

    LeetCode——從上到下打印二叉樹 II

    題目來(lái)源 劍指 Offer 32 - II. 從上到下打印二叉樹 II - 力扣(LeetCode) 題目 從上到下按層打印二叉樹,同一層的節(jié)點(diǎn)按從左到右的順序打印,每一層打印到一行。 示例 給定二叉樹:[3,9,20,null,null,15,7] 返回其層次遍歷結(jié)果: ?解析: 該題是二叉樹層次遍歷的另一種形式,要想做

    2024年02月11日
    瀏覽(20)
  • 力扣101 對(duì)稱二叉樹 Java版本

    力扣101 對(duì)稱二叉樹 Java版本

    給你一個(gè)二叉樹的根節(jié)點(diǎn) root , 檢查它是否軸對(duì)稱。 示例 1: 輸入:root = [1,2,2,3,4,4,3] 輸出:true 示例 2: 輸入:root = [1,2,2,null,3,null,3] 輸出:false 提示: 樹中節(jié)點(diǎn)數(shù)目在范圍 [1, 1000] 內(nèi) -100 = Node.val = 100 進(jìn)階:你可以運(yùn)用遞歸和迭代兩種方法解決這個(gè)問(wèn)題嗎? 思路在代碼中

    2024年02月22日
    瀏覽(15)
  • 力扣-根據(jù)前序和后序遍歷構(gòu)造二叉樹(java)

    力扣-根據(jù)前序和后序遍歷構(gòu)造二叉樹(java)

    原題鏈接: https://leetcode.cn/problems/construct-binary-tree-from-preorder-and-postorder-traversal/ 題目描述: 給定兩個(gè)整數(shù)數(shù)組,preorder 和 postorder ,其中 preorder 是一個(gè)具有 無(wú)重復(fù) 值的二叉樹的前序遍歷,postorder 是同一棵樹的后序遍歷,重構(gòu)并返回二叉樹。 如果存在多個(gè)答案,您可以返回

    2024年02月08日
    瀏覽(24)
  • 力扣刷題-二叉樹-合并二叉樹

    力扣刷題-二叉樹-合并二叉樹

    合并二叉樹是操作兩棵樹的題目里面很經(jīng)典的,如何對(duì)兩棵樹遍歷以及處理? 給定兩個(gè)二叉樹,想象當(dāng)你將它們中的一個(gè)覆蓋到另一個(gè)上時(shí),兩個(gè)二叉樹的一些節(jié)點(diǎn)便會(huì)重疊。 你需要將他們合并為一個(gè)新的二叉樹。合并的規(guī)則是如果兩個(gè)節(jié)點(diǎn)重疊,那么將他們的值相加作為

    2024年01月17日
    瀏覽(22)
  • 力扣---二叉樹OJ題(多種題型二叉樹)

    力扣---二叉樹OJ題(多種題型二叉樹)

    ?? 個(gè)人主頁(yè) :@小沈熬夜禿頭中???? ?? 小編介紹 :歡迎來(lái)到我的亂七八糟小星球?? ?? 專欄 :力扣—LeetCode刷題 ?? 本章內(nèi)容 :力扣—二叉樹OJ題 送給各位 ??:活著就意味著要必須做點(diǎn)什么 請(qǐng)好好努力 歡迎 評(píng)論?? +點(diǎn)贊?? +收藏?? +關(guān)注??哦~ 提示:以下是本篇

    2024年02月07日
    瀏覽(20)
  • 力扣 110. 平衡二叉樹

    力扣 110. 平衡二叉樹

    題目來(lái)源:https://leetcode.cn/problems/balanced-binary-tree/description/ ? ? C++題解1:遞歸法,后續(xù)遍歷,從葉子節(jié)點(diǎn)開始,判斷左右子樹的深度差是否大于1。 代碼隨想錄:思想是一致的,當(dāng)為不平衡樹時(shí)可以節(jié)省右子樹的遍歷。 C++題解2:迭代法,較為繁瑣。由根節(jié)點(diǎn)往葉子節(jié)點(diǎn)需計(jì)

    2024年02月11日
    瀏覽(20)
  • 【力扣 - 翻轉(zhuǎn)二叉樹】

    【力扣 - 翻轉(zhuǎn)二叉樹】

    給你一棵二叉樹的根節(jié)點(diǎn) root ,翻轉(zhuǎn)這棵二叉樹,并返回其根節(jié)點(diǎn)。 樹中節(jié)點(diǎn)數(shù)目范圍在 [0, 100] 內(nèi) 這是一道很經(jīng)典的二叉樹問(wèn)題。顯然,我們從根節(jié)點(diǎn)開始,遞歸地對(duì)樹進(jìn)行遍歷,并從葉子節(jié)點(diǎn)先開始翻轉(zhuǎn)。如果當(dāng)前遍歷到的節(jié)點(diǎn) root 的左右兩棵子樹都已經(jīng)翻轉(zhuǎn),那么我們

    2024年02月22日
    瀏覽(15)
  • 翻轉(zhuǎn)二叉樹,力扣

    翻轉(zhuǎn)二叉樹,力扣

    目錄 題目地址: 題目: 我們直接看題解吧: 快速理解解題思路小建議: 解題方法: 方法分析: 解題分析: 具體流程: 代碼實(shí)現(xiàn)(遞歸): 補(bǔ)充說(shuō)明: 解題思路(利用棧/隊(duì)列): 具體流程: 226. 翻轉(zhuǎn)二叉樹 - 力扣(LeetCode) 難度:簡(jiǎn)單 今天刷翻轉(zhuǎn)二叉樹,大家有興趣可以點(diǎn)

    2024年01月23日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包