牛客(59)按之字形順序列印二叉樹

2022-09-11 14:42:18 字數 680 閱讀 7594

//

題目描述

//請實現乙個函式按照之字形列印二叉樹,

//即第一行按照從左到右的順序列印,

//第二層按照從右至左的順序列印,

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

//其他行以此類推。

public

class

treenode

}public arraylist>print(treenode proot)

stack

stack1 = new stack();

stack

stack2 = new stack();

stack1.add(proot);

while (!stack1.isempty() || !stack2.isempty())

if (node.right != null

) }

arraylists.add(arraylist);

}else

if (!stack2.isempty())

if (node.left != null

) }

arraylists.add(arraylist);}}

return

arraylists;

}

59 按之字形順序列印二叉樹

題目描述 請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。思路 利用兩個棧 stack1和stack2,分別存放奇數行結點和偶數行結點 設定行號變數,例如layer來表示奇數行或者偶數行。當列印stack...

59 按之字形順序列印二叉樹

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。這道題還是二叉樹的層序遍歷思想,在每一層將資料存入另乙個棧中,其實也可以用佇列實現 struct treenode class solution if po...

59 按之字形順序列印二叉樹

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。import j a.util.arraylist import j a.util.stack public class treenode public c...