Day53 二叉樹(shù)的鋸齒形層序遍歷

給定一個(gè)二叉樹(shù)赛糟,返回其節(jié)點(diǎn)值的鋸齒形層序遍歷淤刃。(即先從左往右睁搭,再?gòu)挠彝筮M(jìn)行下一層遍歷赶诊,以此類(lèi)推,層與層之間交替進(jìn)行)

https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/

示例1:

給定二叉樹(shù) [3,9,20,null,null,15,7],

3

/
9 20
/
15 7
返回鋸齒形層序遍歷如下:

[
[3],
[20,9],
[15,7]
]

Java解法

思路:

  • 昨天用棧實(shí)現(xiàn)時(shí)就導(dǎo)致了這種現(xiàn)象
  • 放入取出再放入正好帶來(lái)了這種效果
package sj.shimmer.algorithm.m3_2021;

import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

import sj.shimmer.algorithm.TreeNode;

/**
 * Created by SJ on 2021/3/19.
 */

class D53 {
    public static void main(String[] args) {
        System.out.println(zigzagLevelOrder(TreeNode.getInstance(new Integer[]{3, 9, 20, null, null, 15, 7})));
        System.out.println(zigzagLevelOrder(TreeNode.getInstance(new Integer[]{1,2,3,4,5})));

    }
    public static List<List<Integer>> zigzagLevelOrder(TreeNode root) {
        List<List<Integer>> results = new ArrayList<>();
        Stack<TreeNode> stack = new Stack<>();
        if (root != null) {
            stack.add(root);
        }
        boolean toRight = true;
        while (!stack.isEmpty()){
            List<Integer> tempList = new ArrayList<>();
            Stack<TreeNode> temp = new Stack<>();
            while (!stack.isEmpty()) {
                TreeNode pop = stack.pop();
                if (pop != null) {
                    tempList.add(pop.val);
                    if (toRight) {
                        temp.add(pop.left);
                        temp.add(pop.right);
                    }else {
                        temp.add(pop.right);
                        temp.add(pop.left);
                    }
                }
            }
            toRight=!toRight;
            if (tempList.size()!=0) {
                results.add(tempList);
                stack = temp;
            }
        }
        return results;
    }
}
image

官方解

https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/solution/er-cha-shu-de-ju-chi-xing-ceng-xu-bian-l-qsun/

  1. 廣度優(yōu)先遍歷

    使用隊(duì)列處理园骆,大致邏輯差不多

    • 時(shí)間復(fù)雜度:O(N)

    • 空間復(fù)雜度:O(N)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末舔痪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子锌唾,更是在濱河造成了極大的恐慌锄码,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晌涕,死亡現(xiàn)場(chǎng)離奇詭異滋捶,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)余黎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)重窟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人惧财,你說(shuō)我怎么就攤上這事巡扇〕纯迹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵霎迫,是天一觀的道長(zhǎng)斋枢。 經(jīng)常有香客問(wèn)我,道長(zhǎng)知给,這世上最難降的妖魔是什么瓤帚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮涩赢,結(jié)果婚禮上戈次,老公的妹妹穿的比我還像新娘。我一直安慰自己筒扒,他們只是感情好怯邪,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著花墩,像睡著了一般悬秉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冰蘑,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天和泌,我揣著相機(jī)與錄音,去河邊找鬼祠肥。 笑死武氓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的仇箱。 我是一名探鬼主播县恕,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼剂桥!你這毒婦竟也來(lái)了忠烛?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤渊额,失蹤者是張志新(化名)和其女友劉穎况木,沒(méi)想到半個(gè)月后垒拢,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體旬迹,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年求类,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奔垦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尸疆,死狀恐怖椿猎,靈堂內(nèi)的尸體忽然破棺而出惶岭,到底是詐尸還是另有隱情,我是刑警寧澤犯眠,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布按灶,位于F島的核電站,受9級(jí)特大地震影響筐咧,放射性物質(zhì)發(fā)生泄漏鸯旁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一量蕊、第九天 我趴在偏房一處隱蔽的房頂上張望铺罢。 院中可真熱鬧,春花似錦残炮、人聲如沸韭赘。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泉瞻。三九已至,卻和暖如春苞冯,著一層夾襖步出監(jiān)牢的瞬間瓦灶,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工抱完, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贼陶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓巧娱,卻偏偏與公主長(zhǎng)得像碉怔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子禁添,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容