大家好,我是吳師兄,直接開始今天的算法學(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;
}
}
聲明:本文內(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文章
4810瀏覽量
98610 -
二叉樹
+關(guān)注
關(guān)注
0文章
74瀏覽量
13008
原文標(biāo)題:面試官:讓你打印一下二叉樹,有必要這么麻煩嗎?
文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
工作流插件節(jié)點(diǎn)節(jié)點(diǎn)說明
插件節(jié)點(diǎn)用于在工作流中調(diào)用插件運(yùn)行指定工具。
插件是一系列工具的集合,每個(gè)工具都是一個(gè)可調(diào)用的API。插件廣場(chǎng)上架的插件或已上架的團(tuán)隊(duì)插件支持以節(jié)點(diǎn)形式被集成到工作流中,拓展智能體的能
發(fā)表于 03-23 16:54
嵌入式春招筆試高頻算法題(附解題思路)
(char *str),否則無法修改字符串內(nèi)容(筆試??煎e(cuò)誤點(diǎn))。
四、高頻算法題4:進(jìn)制轉(zhuǎn)換(嵌入式特色,必考)
嵌入式開發(fā)中,經(jīng)常涉及進(jìn)制轉(zhuǎn)換(十進(jìn)制→二進(jìn)制/十六進(jìn)制),是春招筆試的特色
發(fā)表于 03-18 10:08
工作流節(jié)點(diǎn)說明開始節(jié)點(diǎn)
必填),和一個(gè)默認(rèn)的輸入?yún)?shù)EVENT_INPUT(非必填)。表示用戶在本輪對(duì)話中輸入的原始內(nèi)容。開發(fā)者也可以按需添加其他自定義輸入?yún)?shù)。
開始節(jié)點(diǎn)配置說明如下:
輸入?yún)?shù)說明
1、自定義參數(shù):開始
發(fā)表于 03-13 14:52
deepin/UOS系統(tǒng)打印機(jī)配置指南
無論是家庭使用還是辦公環(huán)境,打印機(jī)都是我們?nèi)粘9ぷ骱?b class='flag-5'>學(xué)習(xí)中不可或缺的設(shè)備。在 deepin 或 UOS 系統(tǒng)中,打印機(jī)配置可以非常簡(jiǎn)單,大多
億緯鋰能與杭叉集團(tuán)達(dá)成戰(zhàn)略合作
近日,億緯鋰能與杭叉集團(tuán)2025年戰(zhàn)略研討會(huì)暨戰(zhàn)略合作協(xié)議簽約儀式在杭州舉行。億緯鋰能副總裁、商用車電池產(chǎn)品線總裁江吉兵博士,億緯鋰能商用車電池產(chǎn)品線國(guó)內(nèi)銷售部總經(jīng)理井振江,杭叉集團(tuán)董事、副總經(jīng)理兼
C語言的常見算法
= next;
}
return prev;
}
```
### 二叉樹遍歷 (前序)
```c
struct TreeNode {
int val;
struct TreeNode
發(fā)表于 11-24 08:29
通過優(yōu)化代碼來提高M(jìn)CU運(yùn)行效率
選擇時(shí)間復(fù)雜度低的算法。
根據(jù)訪問模式選擇數(shù)據(jù)結(jié)構(gòu)。頻繁查找用哈希表,有序數(shù)據(jù)用二叉樹等。
查表法:對(duì)于復(fù)雜的數(shù)學(xué)計(jì)算(如sin, log),或者協(xié)議解析,預(yù)先計(jì)算好結(jié)果存于數(shù)組中,用空間換時(shí)間
發(fā)表于 11-12 08:21
e203除法器算法改進(jìn)(二)
的迭代進(jìn)行可以表示為:
r{i}=beta r{i-1}-q{i}D
(其中r{i}表示第i次部分余數(shù),r{i-1}表示第i-1次的部分余數(shù),beta表示選擇的基數(shù)在SRT-4算法中為4,q{i
發(fā)表于 10-22 06:11
請(qǐng)問rtt studio 的文件夾打紅叉什么意思?
rtt studio 的文件夾打紅叉什么意思?而且文件夾里面實(shí)際是有文件的,但是瀏覽不出來。
發(fā)表于 09-18 06:34
FPGA在機(jī)器學(xué)習(xí)中的具體應(yīng)用
,越來越多地被應(yīng)用于機(jī)器學(xué)習(xí)任務(wù)中。本文將探討 FPGA 在機(jī)器學(xué)習(xí)中的應(yīng)用,特別是在加速神經(jīng)網(wǎng)絡(luò)推理、優(yōu)化算法和提升處理效率方面的優(yōu)勢(shì)。
億緯鋰能榮獲杭叉集團(tuán)2022-2024年度優(yōu)秀供應(yīng)商獎(jiǎng)
近日,億緯鋰能憑借卓越產(chǎn)品、可靠交付與優(yōu)質(zhì)服務(wù)榮獲杭叉集團(tuán)頒發(fā)的“2022-2024年度優(yōu)秀供應(yīng)商”獎(jiǎng)。杭叉集團(tuán)副總經(jīng)理兼杭叉電器董事長(zhǎng)金華曙、杭叉電器總經(jīng)理兼杭博電機(jī)總經(jīng)理李明輝出席
高壓放大器在EHD電流體打印系統(tǒng)中的應(yīng)用研究
電場(chǎng)力驅(qū)動(dòng)墨滴噴射。打印時(shí),高電壓使墨滴在強(qiáng)電場(chǎng)下產(chǎn)生電動(dòng)力學(xué)效應(yīng),從而精準(zhǔn)控制墨滴位置和大小,實(shí)現(xiàn)高分辨率、高速度、低成本打印,適用于標(biāo)簽、包裝、廣告等領(lǐng)域。 圖:ATA-7000系列高壓放大器在EHD打印電子點(diǎn)膠技術(shù)
下一代高速芯片晶體管解制造問題解決了!
在半導(dǎo)體工藝演進(jìn)到2nm,1nm甚至0.7nm等節(jié)點(diǎn)以后,晶體管結(jié)構(gòu)該如何演進(jìn)?2017年,imec推出了叉片晶體管(forksheet),作為環(huán)柵(GAA)晶體管的自然延伸。不過,產(chǎn)業(yè)對(duì)其可制造
發(fā)表于 06-20 10:40
掃碼槍直連打印機(jī)掃產(chǎn)品上的條碼二維碼,自動(dòng)打印對(duì)應(yīng)的條碼標(biāo)簽
在現(xiàn)代企業(yè)的生產(chǎn)、倉(cāng)儲(chǔ)、物流等環(huán)節(jié)中,條碼標(biāo)簽的打印與使用是一項(xiàng)極為常見卻又至關(guān)重要的工作。傳統(tǒng)的依靠電腦連接條碼打印機(jī)的打印方式,在面對(duì)大規(guī)模、高頻次的
算法學(xué)習(xí)中如何打印二叉樹節(jié)點(diǎn)
評(píng)論