0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

算法學(xué)習(xí)中如何打印二叉樹節(jié)點(diǎn)

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:五分鐘學(xué)算法 ? 作者:程序員吳師兄 ? 2021-10-22 09:37 ? 次閱讀
大家好,我是吳師兄,直接開始今天的算法學(xué)習(xí),沖沖沖。

一、題目描述

從上到下打印出二叉樹的每個(gè)節(jié)點(diǎn),同一層的節(jié)點(diǎn)按照從左到右的順序打印。

例如: 給定二叉樹:[3,9,20,null,null,15,7],

3
/
920
/
157

返回:

[3,9,20,15,7]

二、保姆級(jí)參考代碼

//登錄AlgoMooc官網(wǎng)獲取更多算法圖解
//https://www.algomooc.com
//作者:程序員吳師兄
classSolution{
publicint[]levelOrder(TreeNoderoot){
//根節(jié)點(diǎn)為空的情況返回空數(shù)組
if(root==null)returnnewint[0];
//生成一個(gè)隊(duì)列,用來保存節(jié)點(diǎn)
Queuequeue=newLinkedList<>();

//生成一個(gè)list,用來保存輸出的節(jié)點(diǎn)
Listlist=newArrayList<>();
//首先讓根節(jié)點(diǎn)入隊(duì)
queue.add(root);

//遍歷隊(duì)列,直到隊(duì)列為空
while(!queue.isEmpty()){
//獲取隊(duì)列的頭部元素
TreeNodenode=queue.poll();
//把結(jié)點(diǎn)值存放到list中
list.add(node.val);
//判斷該節(jié)點(diǎn)是否有左右子節(jié)點(diǎn)

//如果左子節(jié)點(diǎn)有值,則把左子節(jié)點(diǎn)加入到隊(duì)列中
if(node.left!=null){
queue.add(node.left);
}
//如果右子節(jié)點(diǎn)有值,則把右子節(jié)點(diǎn)加入到隊(duì)列中
if(node.right!=null){
queue.add(node.right);
}

}
//根據(jù)題目要求,把list轉(zhuǎn)化為數(shù)組
int[]res=newint[list.size()];
for(inti=0;i//返回res
returnres;
}
}
責(zé)任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4615

    瀏覽量

    93020
  • 二叉樹
    +關(guān)注

    關(guān)注

    0

    文章

    74

    瀏覽量

    12348

原文標(biāo)題:面試官:讓你打印一下二叉樹,有必要這么麻煩嗎?

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NPU與機(jī)器學(xué)習(xí)算法的關(guān)系

    在人工智能領(lǐng)域,機(jī)器學(xué)習(xí)算法是實(shí)現(xiàn)智能系統(tǒng)的核心。隨著數(shù)據(jù)量的激增和算法復(fù)雜度的提升,對(duì)計(jì)算資源的需求也在不斷增長(zhǎng)。NPU作為一種專門為深度學(xué)習(xí)等機(jī)器
    的頭像 發(fā)表于 11-15 09:19 ?498次閱讀

    華納云:Chord算法如何管理節(jié)點(diǎn)間的聯(lián)系?

    finger表查找最近的節(jié)點(diǎn)來實(shí)現(xiàn)。如果當(dāng)前節(jié)點(diǎn)的finger表沒有直接指向目標(biāo)節(jié)點(diǎn)的條目,它會(huì)將請(qǐng)求轉(zhuǎn)發(fā)給finger表中指向的
    發(fā)表于 11-08 16:03

    一種基于深度學(xué)習(xí)維拉曼光譜算法

    近日,天津大學(xué)精密儀器與光電子工程學(xué)院的光子芯片實(shí)驗(yàn)室提出了一種基于深度學(xué)習(xí)維拉曼光譜算法,成果以“Rapid and accurate bacteria identification
    的頭像 發(fā)表于 11-07 09:08 ?237次閱讀
    一種基于深度<b class='flag-5'>學(xué)習(xí)</b>的<b class='flag-5'>二</b>維拉曼光譜<b class='flag-5'>算法</b>

    邏輯組件的流程塊節(jié)點(diǎn)通常出于什么用途

    邏輯組件的流程塊節(jié)點(diǎn)是流程圖、狀態(tài)圖、序列圖等圖表的基本元素,它們用于表示業(yè)務(wù)流程、工作流程、算法步驟、系統(tǒng)狀態(tài)等。這些節(jié)點(diǎn)在軟件開發(fā)、
    的頭像 發(fā)表于 10-15 14:38 ?171次閱讀

    什么是默克爾樹(Merkle Tree)?如何計(jì)算默克爾根?

    01 默克爾樹的概念 默克爾樹(Merkle Tree)是一種特殊的二叉樹,它的每個(gè)節(jié)點(diǎn)都存儲(chǔ)了一個(gè)數(shù)據(jù)塊的哈希值。哈希值是一種可以將任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為固定長(zhǎng)度的字符串的算法,它具有唯一性和不可
    的頭像 發(fā)表于 09-30 18:22 ?974次閱讀
    什么是默克爾樹(Merkle Tree)?如何計(jì)算默克爾根?

    節(jié)點(diǎn)電壓法流入節(jié)點(diǎn)電流怎么判斷正負(fù)

    節(jié)點(diǎn)電壓法(Node Voltage Method)是一種在電路分析中常用的方法,用于求解電路節(jié)點(diǎn)的電壓。在這種方法,我們通常選擇一個(gè)參考節(jié)點(diǎn)
    的頭像 發(fā)表于 08-06 17:24 ?2378次閱讀

    深度學(xué)習(xí)算法在嵌入式平臺(tái)上的部署

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)算法在各個(gè)領(lǐng)域的應(yīng)用日益廣泛。然而,將深度學(xué)習(xí)算法部署到資源受限的嵌入式平臺(tái)上,仍然是一個(gè)具有挑戰(zhàn)性的任務(wù)。本文將從嵌入式平臺(tái)的特點(diǎn)、深度
    的頭像 發(fā)表于 07-15 10:03 ?1476次閱讀

    深度學(xué)習(xí)算法在集成電路測(cè)試的應(yīng)用

    隨著半導(dǎo)體技術(shù)的快速發(fā)展,集成電路(IC)的復(fù)雜性和集成度不斷提高,對(duì)測(cè)試技術(shù)的要求也日益增加。深度學(xué)習(xí)算法作為一種強(qiáng)大的數(shù)據(jù)處理和模式識(shí)別工具,在集成電路測(cè)試領(lǐng)域展現(xiàn)出了巨大的應(yīng)用潛力。本文將從深度學(xué)習(xí)
    的頭像 發(fā)表于 07-15 09:48 ?1041次閱讀

    利用Matlab函數(shù)實(shí)現(xiàn)深度學(xué)習(xí)算法

    在Matlab實(shí)現(xiàn)深度學(xué)習(xí)算法是一個(gè)復(fù)雜但強(qiáng)大的過程,可以應(yīng)用于各種領(lǐng)域,如圖像識(shí)別、自然語言處理、時(shí)間序列預(yù)測(cè)等。這里,我將概述一個(gè)基本的流程,包括環(huán)境設(shè)置、數(shù)據(jù)準(zhǔn)備、模型設(shè)計(jì)、訓(xùn)練過程、以及測(cè)試和評(píng)估,并提供一個(gè)基于Mat
    的頭像 發(fā)表于 07-14 14:21 ?2279次閱讀

    節(jié)點(diǎn)電壓法電壓源怎么處理

    節(jié)點(diǎn)電壓法(Node Voltage Method,簡(jiǎn)稱NVM)是電路分析的一種基本方法,主要應(yīng)用于求解線性電路節(jié)點(diǎn)電壓。在節(jié)點(diǎn)電壓法
    的頭像 發(fā)表于 07-12 09:20 ?3260次閱讀

    深度學(xué)習(xí)的無監(jiān)督學(xué)習(xí)方法綜述

    應(yīng)用往往難以實(shí)現(xiàn)。因此,無監(jiān)督學(xué)習(xí)在深度學(xué)習(xí)扮演著越來越重要的角色。本文旨在綜述深度學(xué)習(xí)
    的頭像 發(fā)表于 07-09 10:50 ?803次閱讀

    指電極上覆蓋敏感材料的阻值計(jì)算

    覆蓋的敏感材料厚度超出指厚度時(shí)計(jì)算電阻,是否可以視作指電極指間電阻多個(gè)周期串聯(lián)后與超出指厚度部分敏感材料電阻并聯(lián)
    發(fā)表于 07-05 14:48

    機(jī)器學(xué)習(xí)算法原理詳解

    機(jī)器學(xué)習(xí)作為人工智能的一個(gè)重要分支,其目標(biāo)是通過讓計(jì)算機(jī)自動(dòng)從數(shù)據(jù)中學(xué)習(xí)并改進(jìn)其性能,而無需進(jìn)行明確的編程。本文將深入解讀幾種常見的機(jī)器學(xué)習(xí)算法原理,包括線性回歸、邏輯回歸、支持向量機(jī)
    的頭像 發(fā)表于 07-02 11:25 ?1117次閱讀

    機(jī)器學(xué)習(xí)的經(jīng)典算法與應(yīng)用

    關(guān)于數(shù)據(jù)機(jī)器學(xué)習(xí)就是喂入算法和數(shù)據(jù),讓算法從數(shù)據(jù)尋找一種相應(yīng)的關(guān)系。Iris鳶尾花數(shù)據(jù)集是一個(gè)經(jīng)典數(shù)據(jù)集,在統(tǒng)計(jì)學(xué)習(xí)和機(jī)器
    的頭像 發(fā)表于 06-27 08:27 ?1677次閱讀
    機(jī)器<b class='flag-5'>學(xué)習(xí)</b>的經(jīng)典<b class='flag-5'>算法</b>與應(yīng)用

    哈夫曼編碼怎么算 哈夫曼編碼左邊是0還是1

    二叉樹,將出現(xiàn)頻率高的字符用較短的編碼表示,而出現(xiàn)頻率低的字符則用較長(zhǎng)的編碼表示。通過這種方式,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)進(jìn)行高效的編碼和解碼。 下面我們將詳細(xì)介紹哈夫曼編碼的算法過程。 統(tǒng)計(jì)字符頻率 在進(jìn)行哈夫曼編碼前,首先需
    的頭像 發(fā)表于 01-30 11:27 ?3111次閱讀