按之字形順序列印二叉樹

2021-07-14 07:04:23 字數 364 閱讀 8702

//請實現乙個函式按照之字形順序列印二叉樹,即第一行按照從左到右的順序列印,

//第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。

#include "iostream"

#include "stack"

using namespace std;

struct treenode

;void printzigzag(treenode* proot)

else

}cout << endl;

current = !current;

}}

用兩個棧,陣列存放兩個棧,0、1下標交換當前棧,這個思想很棒!

按之字形順序列印二叉樹

題目描述 按之字形順序列印二叉樹 請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。解析 要分層列印,不能用常規方法,訪問乙個節點後,將該節點的左右子節點壓入佇列。奇數層從左到右列印,偶數層從右向左列印。使...

按之字形順序列印二叉樹

其實我們可以借鑑層次遍歷時候的思路,參見劍指offer 060 把二叉樹列印成多行,我們把層次遍歷的結果儲存在vector vector 中每一層儲存在乙個vector中,那麼我們輸出的時候就可以進行調整,按照之字形輸出即可 for int i 0 i if i 1 return ans 完整 如下...

按之字形順序列印二叉樹

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。以題目中的二叉樹為例,一步步分析。當二叉樹的根結點 結點1 列印之後,它的左子結點 結點2 和右子結點 結點3 先後儲存到乙個容器中。值得注意的是,在列印第...