大家好,我是吳師兄,直接開始今天的算法學習,沖沖沖。
一、題目描述
從上到下打印出二叉樹的每個節點,同一層的節點按照從左到右的順序打印。
例如: 給定二叉樹:[3,9,20,null,null,15,7]
,
3
/
920
/
157
返回:
[3,9,20,15,7]
二、保姆級參考代碼
//登錄AlgoMooc官網獲取更多算法圖解
//https://www.algomooc.com
//作者:程序員吳師兄
classSolution{
publicint[]levelOrder(TreeNoderoot){
//根節點為空的情況返回空數組
if(root==null)returnnewint[0];
//生成一個隊列,用來保存節點
Queuequeue=newLinkedList<>();
//生成一個list,用來保存輸出的節點
Listlist=newArrayList<>();
//首先讓根節點入隊
queue.add(root);
//遍歷隊列,直到隊列為空
while(!queue.isEmpty()){
//獲取隊列的頭部元素
TreeNodenode=queue.poll();
//把結點值存放到list中
list.add(node.val);
//判斷該節點是否有左右子節點
//如果左子節點有值,則把左子節點加入到隊列中
if(node.left!=null){
queue.add(node.left);
}
//如果右子節點有值,則把右子節點加入到隊列中
if(node.right!=null){
queue.add(node.right);
}
}
//根據題目要求,把list轉化為數組
int[]res=newint[list.size()];
for(inti=0;i//返回res
returnres;
}
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
算法
+關注
關注
23文章
4615瀏覽量
92999 -
二叉樹
+關注
關注
0文章
74瀏覽量
12343
原文標題:面試官:讓你打印一下二叉樹,有必要這么麻煩嗎?
文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
NPU與機器學習算法的關系
在人工智能領域,機器學習算法是實現智能系統的核心。隨著數據量的激增和算法復雜度的提升,對計算資源的需求也在不斷增長。NPU作為一種專門為深度學習等機器
華納云:Chord算法如何管理節點間的聯系?
finger表中查找最近的節點來實現。如果當前節點的finger表中沒有直接指向目標節點的條目,它會將請求轉發給finger表中指向的
發表于 11-08 16:03
一種基于深度學習的二維拉曼光譜算法
近日,天津大學精密儀器與光電子工程學院的光子芯片實驗室提出了一種基于深度學習的二維拉曼光譜算法,成果以“Rapid and accurate bacteria identification
邏輯組件中的流程塊節點通常出于什么用途
邏輯組件中的流程塊節點是流程圖、狀態圖、序列圖等圖表中的基本元素,它們用于表示業務流程、工作流程、算法步驟、系統狀態等。這些節點在軟件開發、
什么是默克爾樹(Merkle Tree)?如何計算默克爾根?
01 默克爾樹的概念 默克爾樹(Merkle Tree)是一種特殊的二叉樹,它的每個節點都存儲了一個數據塊的哈希值。哈希值是一種可以將任意長度的數據轉換為固定長度的字符串的算法,它具有唯一性和不可
節點電壓法流入節點電流怎么判斷正負
節點電壓法(Node Voltage Method)是一種在電路分析中常用的方法,用于求解電路中各節點的電壓。在這種方法中,我們通常選擇一個參考節點
深度學習算法在嵌入式平臺上的部署
隨著人工智能技術的飛速發展,深度學習算法在各個領域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰性的任務。本文將從嵌入式平臺的特點、深度
深度學習算法在集成電路測試中的應用
隨著半導體技術的快速發展,集成電路(IC)的復雜性和集成度不斷提高,對測試技術的要求也日益增加。深度學習算法作為一種強大的數據處理和模式識別工具,在集成電路測試領域展現出了巨大的應用潛力。本文將從深度學習
利用Matlab函數實現深度學習算法
在Matlab中實現深度學習算法是一個復雜但強大的過程,可以應用于各種領域,如圖像識別、自然語言處理、時間序列預測等。這里,我將概述一個基本的流程,包括環境設置、數據準備、模型設計、訓練過程、以及測試和評估,并提供一個基于Mat
節點電壓法中電壓源怎么處理
節點電壓法(Node Voltage Method,簡稱NVM)是電路分析中的一種基本方法,主要應用于求解線性電路中的節點電壓。在節點電壓法
機器學習算法原理詳解
機器學習作為人工智能的一個重要分支,其目標是通過讓計算機自動從數據中學習并改進其性能,而無需進行明確的編程。本文將深入解讀幾種常見的機器學習算法原理,包括線性回歸、邏輯回歸、支持向量機
哈夫曼編碼怎么算 哈夫曼編碼左邊是0還是1
二叉樹,將出現頻率高的字符用較短的編碼表示,而出現頻率低的字符則用較長的編碼表示。通過這種方式,可以實現對數據進行高效的編碼和解碼。 下面我們將詳細介紹哈夫曼編碼的算法過程。 統計字符頻率 在進行哈夫曼編碼前,首先需
評論