之字形列印二叉樹

2021-07-04 11:10:09 字數 1075 閱讀 8845

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

#include #include #include "binarytree.h"

using namespace std;

void bprint(binarytreenode *proot)

stacklevels[2];

int current = 0;

int next =1;

levels[current].push(proot);

while(!levels[0].empty() || !levels[1].empty())

else

if(levels[current].empty())

}}

測試用例
void test1()

// 5

// 4

// 3

// 2

void test2()

// 5

// 4

// 3

// 2

void test3()

void test4()

void test5()

// 100

// /

// 50

// \

// 150

void test6()

// 8

// 4 12

// 2 6 10 14

// 1 3 5 7 9 11 13 15

void test7()

int main(int argc, char* argv)

之字形列印二叉樹

請實現乙個函式按照之字形順序從上向下列印二叉樹。即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。樣例輸入如下圖所示二叉樹 8,12,2,null,null,6,4,null,null,null,null 8 12 2 6 4 輸出 8 2...

之字形列印二叉樹

思路 首先我們需要逐層列印二叉樹,然後根據每一層的狀態判定是從左到右,還是從右到左。首先問題的核心其實是從上到下,從左到右列印二叉樹,只不過後面題目多了兩個要求,所以我們2 的大體框架應該是基於從上到下列印二叉樹 其次逐層列印二叉樹,實際上就是讓我們對每一層設定標誌位,然後根據標誌位去決定列印的情況...

之字形列印二叉樹

題目描述 請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。class treenode def init self,x self.val x self.left none self.right none ...