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

【LeetCode】102.二叉樹的層序遍歷

這篇具有很好參考價值的文章主要介紹了【LeetCode】102.二叉樹的層序遍歷。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

題目

給你二叉樹的根節(jié)點?root?,返回其節(jié)點值的?層序遍歷?。 (即逐層地,從左到右訪問所有節(jié)點)。

示例 1:

【LeetCode】102.二叉樹的層序遍歷,LeetCode,leetcode,算法,java

輸入:root = [3,9,20,null,null,15,7]
輸出:[[3],[9,20],[15,7]]

示例 2:

輸入:root = [1]
輸出:[[1]]

示例 3:

輸入:root = []
輸出:[]

提示:

  • 樹中節(jié)點數(shù)目在范圍?[0, 2000]?內(nèi)
  • -1000 <= Node.val <= 1000

解答

源代碼

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        List<List<Integer>> res = new ArrayList<>();
        Queue<TreeNode> queue = new ArrayDeque<>();

        if (root != null) {
            queue.offer(root);
        }

        while (!queue.isEmpty()) {
            List<Integer> combine = new ArrayList<>();
            int len = queue.size();

            for (int i = 0; i < len; i++) {
                TreeNode q = queue.poll();
                combine.add(q.val);

                if (q.left != null) {
                    queue.offer(q.left);
                }

                if (q.right != null) {
                    queue.offer(q.right);
                }
            }

            res.add(combine);
        }

        return res;
    }
}

總結(jié)

之前做的題里深度優(yōu)先遍歷(DFS)用得比較多,主要是回溯算法,這道題的層序遍歷需要用到廣度優(yōu)先遍歷(BFS),使用的是隊列。需要注意的一點是層序遍歷是每一層為一組,所以每次遍歷一層時需要先記下當前層有多少節(jié)點,遍歷完這個數(shù)量的節(jié)點之后才能進入下一次的遍歷。文章來源地址http://www.zghlxwxcb.cn/news/detail-618808.html

到了這里,關(guān)于【LeetCode】102.二叉樹的層序遍歷的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • ★102. 二叉樹的層序遍歷

    ★102. 二叉樹的層序遍歷

    很巧妙的,又學習了一種層次遍歷的方法, 就是說根據(jù)當前的隊列的長度去遍歷,遍歷的當前隊列的長度就是該層次的節(jié)點個數(shù)。

    2024年02月05日
    瀏覽(25)
  • LeetCode.107. 二叉樹的層序遍歷 II

    LeetCode.107. 二叉樹的層序遍歷 II

    107. 二叉樹的層序遍歷 II 這個題目考查的是二叉樹的層序遍歷,對于二叉樹的層序遍歷,我們需要借助 隊列 這種數(shù)據(jù)結(jié)構(gòu)。再來回歸本題 ,我們只需要將 二叉樹的層序遍歷的結(jié)果逆序,就可以得到這道題我們要求的答案了。接下來我們的難題就是 如何實現(xiàn)二叉樹的層序遍

    2024年02月21日
    瀏覽(30)
  • 【C++】102.二叉樹的層序遍歷

    【C++】102.二叉樹的層序遍歷

    給你二叉樹的根節(jié)點 root ,返回其節(jié)點值的 層序遍歷 。 (即逐層地,從左到右訪問所有節(jié)點)。 示例1: 示例 2: 示例 3: 提示: 樹中節(jié)點數(shù)目在范圍 [0, 2000] 內(nèi) -1000 = Node.val = 1000 這個問題實際上可以只用一個隊列就實現(xiàn),只需要再增加一個變量 levelSize ,用來記錄每一層

    2024年03月11日
    瀏覽(19)
  • 每日一題 102二叉樹的層序遍歷

    給你二叉樹的根節(jié)點 root ,返回其節(jié)點值的 層序遍歷 。 (即逐層地,從左到右訪問所有節(jié)點)。 示例 1: 輸入:root = [3,9,20,null,null,15,7] 輸出:[[3],[9,20],[15,7]] 示例 2: 輸入:root = [1] 輸出:[[1]] 示例 3: 輸入:root = [] 輸出:[] 提示: 樹中節(jié)點數(shù)目在范圍 [0, 2000] 內(nèi) -1000 =

    2024年02月09日
    瀏覽(22)
  • leetcode做題筆記107. 二叉樹的層序遍歷 II

    leetcode做題筆記107. 二叉樹的層序遍歷 II

    給你二叉樹的根節(jié)點? root ?,返回其節(jié)點值? 自底向上的層序遍歷 ?。 (即按從葉子節(jié)點所在層到根節(jié)點所在的層,逐層從左向右遍歷) 本題要求二叉樹的層序遍歷,并且是從下至上的層序遍歷,可以考慮先按照從上至下的層序遍歷先將層序遍歷結(jié)果放到數(shù)組中,再對每層

    2024年02月11日
    瀏覽(26)
  • 每日一練:LeeCode-102、二又樹的層序遍歷【二叉樹】

    每日一練:LeeCode-102、二又樹的層序遍歷【二叉樹】

    本文是力扣LeeCode-102、二又樹的層序遍歷 學習與理解過程,本文僅做學習之用,對本題感興趣的小伙伴可以出門左拐LeeCode。 給你二叉樹的根節(jié)點 root ,返回其節(jié)點值的 層序遍歷 。 ( 即逐層地,從左到右訪問所有節(jié)點 )。 示例 1: 輸入:root = [3,9,20,null,null,15,7] 輸出:[[3

    2024年01月21日
    瀏覽(22)
  • 【Py/Java/C++三種語言詳解】LeetCode每日一題240216【二叉樹BFS】LeetCode103、二叉樹的層序遍歷II

    【Py/Java/C++三種語言詳解】LeetCode每日一題240216【二叉樹BFS】LeetCode103、二叉樹的層序遍歷II

    有LeetCode交流群/華為OD考試扣扣交流群可加: 948025485 可上全網(wǎng)獨家的 歐弟OJ系統(tǒng) 練習華子OD、大廠真題 綠色聊天軟件戳 od1336 了解算法沖刺訓練 LeetCode103、二叉樹的鋸齒形層序遍歷 給你二叉樹的根節(jié)點 root ,返回其節(jié)點值的 鋸齒形層序遍歷 。(即先從左往右,再從右往左進

    2024年02月20日
    瀏覽(19)
  • LeetCode 429. N 叉樹的層序遍歷

    LeetCode 429. N 叉樹的層序遍歷

    給定一個 N 叉樹,返回其節(jié)點值的層序遍歷。(即從左到右,逐層遍歷)。 樹的序列化輸入是用層序遍歷,每組子節(jié)點都由 null 值分隔(參見示例)。 示例 示例1 輸入:root = [1,null,3,2,4,null,5,6] 輸出:[[1],[3,2,4],[5,6]] 示例2 輸入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,

    2024年02月05日
    瀏覽(14)
  • Leetcode-429.N叉樹的層序遍歷

    Leetcode-429.N叉樹的層序遍歷

    題目: 給定一個 N 叉樹,返回其節(jié)點值的 層序遍歷 。(即從左到右,逐層遍歷)。 樹的序列化輸入是用層序遍歷,每組子節(jié)點都由 null 值分隔(參見示例)。 示例 1: 示例 2: 提示: 樹的高度不會超過? 1000 樹的節(jié)點總數(shù)在? [0,?10^4] ?之間 和二叉樹層次遍歷類似,使用廣

    2024年02月21日
    瀏覽(17)
  • 【LeetCode: 429. N 叉樹的層序遍歷 + BFS】

    【LeetCode: 429. N 叉樹的層序遍歷 + BFS】

    ?? 算法題 ?? ?? 算法刷題專欄 | 面試必備算法 | 面試高頻算法 ?? ?? 越難的東西,越要努力堅持,因為它具有很高的價值,算法就是這樣? ?? 作者簡介:碩風和煒,CSDN-Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??,保研|國家獎學金|高中學習JAVA|大學完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文

    2024年02月19日
    瀏覽(53)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包