面試題68 按之字形順序列印二叉樹

2021-07-10 20:57:21 字數 365 閱讀 2591

題目:

請實現乙個函式按照之字形順序列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。

思路:可以用兩個佇列來實現,當乙個隊列為空時,換行,所以不需要額外儲存層數。

#include #include #include using namespace std;

struct node

};void printbylevel(node *root)

else

if (s[flag].empty())

}cout << endl;

}int main()

劍指offer 面試題 按之字形順序列印二叉樹

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。方法1 正常層次遍歷,利用普通佇列。逢奇數行 從0算起 就把該層結果逆序。1 class solution 5 queuemy queue 6my queu...

按之字形順序列印二叉樹

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

按之字形順序列印二叉樹

請實現乙個函式按照之字形順序列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。include iostream include stack using namespace std struct treenode void pri...