《劍指offer》第三十二題(之字形列印二叉樹)

2022-09-07 23:06:25 字數 871 閱讀 8318

//

面試題32(三):之字形列印二叉樹

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

//序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,

//其他行以此類推。

#include

#include

"binarytree.h

"#include

void print(binarytreenode*proot)

else

if (levels[current].empty())//

如果當前棧空了,就換一下棧的序號

}}//

********************測試**********************//8

//6 10

//5 7 9 11

void

test1()//5

//4//3

//2void

test2()//5

//4//3

//2void

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*ar**)

劍指Offer第三十二題 把陣列排成最小的數

輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。思路 實際上不難,就是排序問題,但是不是按大小排序了,排序的比較方式換了而已,雖然筆者寫完能跑出來,但是寫得不好,這裡新增的是改進版思路,比較簡...

100題 第三十二 陣列 規劃

一,題目 有兩個序列a,b,大小都為n,序列元素的值任意整數,無序 要求 通過交換a,b中的元素,使 序列a元素的和 與 序列b元素的和 之間的差最小。例如 var a 100 99 98 1 2 3 var b 1,2,3,4,5,40 有兩個序列a,b,大小都為n,序列元素的值任意整數,無序 要...

劍指offer 之字形列印二叉樹

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。利用兩個棧 定義乙個兩個棧的陣列 用current和next分別指示當前層和下一層,如果當前層是奇數層 current 0 則下一層先入棧左節點再入棧右節點...