二叉樹層次遍歷

2021-08-30 13:59:28 字數 1086 閱讀 2269

題目描述

從上到下按層列印二叉樹,同一層結點從左至右輸出。每一層輸出一行。

思路 二叉樹的層次遍歷,利用棧的先進後出的特性。

/*

struct treenode

};*/

class solution

res.push_back(temp);

while(!m.empty())//m中是從左往右入棧,這裡把它反過來,s中是從右往左入棧,確保從左往右輸出

}return res;

}};```

按照慣例,去學習了大神的寫法

class solution 

vec.push_back(c);

}return vec;

}};**發現幾種遞迴的寫法**

1. `

class solution

vectorprint(treenode proot)

自己在vs2015 上測試了一下,
treenode* root =new treenode(1);

treenode* r1 = new treenode(2);

treenode* r2 = new treenode(3);

treenode* r3 = new treenode(4);

treenode* r4 = new treenode(5);

treenode* r5 = new treenode(6);

treenode* r6 = new treenode(7);

root->left = r1;

root->right = r2;

r1->left = r3;

r1->right = r4;

r2->left = r5;

r2->right = r6;

vector>res = print(root);

遞迴順序如下 1 2 4 5 3 6 7,用deep記錄遞迴深度,大概就是這樣。

層次遍歷二叉樹

問題 假定根節點位於第0層 1.層次遍歷二叉樹 每層換行分開 2.層次遍歷二叉樹指定的某層 本文 例如 上圖中1.123 4567 82.第三層 78可以看出得出第二問的解,第一問迎刃而解了,所以從問題二下手 1.層次遍歷二叉樹指定的某層 可以得出這樣的乙個結論 遍歷二叉樹的第k層,相當於遍歷二叉樹...

二叉樹層次遍歷

層次遍歷二叉樹,每一次儲存在list中,結果按從葉子層到根,從左到右的順序儲存 一 class solution return lists 相當於在先序的基礎上改進,level是每個node所在的層次。如果lists大小和level相等,說明開始新一層的儲存。如果不等,則直接把值存入相應層次的lis...

層次遍歷二叉樹

想看更多 對於一些資源排程問題,fifo的方法比較常用,比如作業系統的頁面置換演算法,在一些具體場景裡 銀行 醫院等排隊功能當然優先考慮用佇列去實現了 除此之外,佇列還可以用於二叉樹的層次遍歷。1.根節點加入佇列 2.進入迴圈,出口條件是隊列為空 3.出乙個節點,並且把他的左右子加入佇列 4.可以用...