從上到下按層打印二叉樹,每層打印順序從左到右
1 class Solution{ 2 public : 3 vector<int> PrintFromTopToBottom(TreeNode* root){ 4 vector<int> vec; 5 queue<TreeNode*> Q; 6 if(root==NULL) return vec; 7 Q.push(root); 8 while(!Q.empty()) 9 { 10 TreeNode* p = Q.front(); 11 Q.pop(); 12 vec.push_back(p->val); 13 if(p->left)14 Q.push(p->left); 15 if(p->right) 16 Q.push(p->right); 17 } 18 return vec; 19 } 20 };
從上到下按層打印二叉樹,每層打印順序從左到右
相關推薦
從上到下按層打印二叉樹,每層打印順序從左到右
public val empty queue ron root div rom top 1 class Solution{ 2 public : 3 vector<int> PrintFromTopToBottom(TreeNode* root){ 4
按行列印二叉樹,每行後面回車
#include<iostream> #include<queue> using namespace std; struct Node { Node* left;
劍指offer之【從上往下打印二叉樹】
emp pub push coder 二叉 spa cti public ott 題目: 從上往下打印二叉樹 鏈接: https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701?tpId=13
59、劍指offer--按之字形順序打印二叉樹
print 題目 一個棧 wrap offer 二叉 原因 treenode 只有一個 題目描述 請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。 解題思路:通過分析,使用棧
劍指offer61 按之字形順序打印二叉樹
push_back 打印 pre logs cto pan 順序 code pty 另一種自己寫的解法 class Solution { public: vector<vector<int> > Print(TreeNode* pRoot)
劍指offer---從上往下打印二叉樹
cnblogs == oot div from ack () emp off /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; Tree
從上到下打印二叉樹
light c++ root tor ber eno esc clas 打印 題目描述 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 /* struct TreeNode { int val; struct TreeNode *left; struct
按之字形順序打印二叉樹
public 控制 num return res class imp comment 記得 http://blog.csdn.net/qq_27703417/article/details/70977347 請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的
劍指offer二十二之從上往下打印二叉樹
取出 打印二叉樹 port 二叉 遍歷 one 入隊 this () 一、題目 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 二、思路 二叉樹的層次遍歷,可以借助隊列實現。具體思路詳見註釋。 三、代碼 import java.util.Array
劍指offer之 從上往下打印二叉樹
節點 result ava null val imp tree solution 當前 import java.util.ArrayList; import java.util.LinkedList; /** public class TreeNode { int
劍指Offer——從上往下打印二叉樹
先進先出 public rom val nod top 二叉 () str 題目描述: 從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 分析: 層次遍歷,利用隊列的性質,先進先出。 先將根結點的指針入隊。 如果隊列不為空,那麽打印隊列第一個指針指向的值,如果左
劍指Offer——按之字形順序打印二叉樹
打印二叉樹 sta cnblogs 我們 pre 方便 pri == stack 題目描述: 請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。 分析: 我們都知道二叉樹的層次遍歷
59按之字形順序打印二叉樹
left print nbsp else array flag oot ret add 題目描述 請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。 需要2個桟(後進先出)。 我
從上往下打印二叉樹
ott ger pub AD 二叉樹的層次遍歷 結構 pty bottom tree 題目:從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 給定的樹節點結構: public class TreeNode { int val = 0; TreeNod
劍指 offer-從上往下打印二叉樹
poll roo off 一個棧 val printf pri 題目 模擬 題目:從上往下打印二叉樹 題目描述:從上往下打印出二叉樹的每個節點,同層節點從左至右打印 思路:考察二叉樹的 層序遍歷,通常借助使用一個隊列或一個棧來完成 若是要求每層數據從左到右保存則用隊列
面試題:從上往下打印二叉樹
import span add 試題 linked style util 二叉 arraylist 題目描述:從上往下打印出二叉樹的每個節點,同層節點從左至右打印。 樹的按層遍歷 思路:輔助隊列保存每個節點的子節點值 import java.util.ArrayList;
劍指offer(59)按之字形順序打印二叉樹
eve 就是 是我 數據結構 rev 其他 正常的 正常 nbsp 題目描述 請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。 題目分析 這道題還是需要畫圖分析,不然不好找規
劍指offer——面試題32:從上到下打印二叉樹
lap onclick 分享圖片 creat pop pro lose show ret void BFS(BinaryTreeNode* pRoot) { if(pRoot==nullptr) { cout<<"
c++智能指針和二叉樹(1): 圖解層序遍歷和逐層打印二叉樹
發生 子節點 lse 局部對象 根節點 縮進 nts 思路 layer 二叉樹是極為常見的數據結構,關於如何遍歷其中元素的文章更是數不勝數。 然而大多數文章都是講解的前序/中序/後序遍歷,有關逐層打印元素的文章並不多,已有文章的講解也較為晦澀讀起來不得要領。本文將用形象的圖
算法筆記_189:歷屆試題 橫向打印二叉樹(Java)
father 比較 fat color title 比對 temp ger 筆記 目錄 1 問題描述 2 解決方案 1 問題描述 問題描述 二叉樹可以用於排序。其原理很簡單:對於一個排序二叉樹添加新節點時,先與根節點比較,若小則交給左子樹繼續處理,否則交給右子樹