請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。
importj**a.util.arraylist;
import
j**a.util.stack;
/*public class treenode }*/
public
class
solution
stack
stack1=new stack<>();
stack
stack2=new stack<>();
stack1.push(proot);
while(!stack1.isempty() || !stack2.isempty())
if(node.right!=null
) }
//保留結果
if(list.size()>0)
list=new arraylist();
//偶數行的結果
while(!stack2.isempty())
if(node.left!=null
) }
//保留結果
if(list.size()>0)
list=new arraylist();
}return
res;
}}
59 按之字形順序列印二叉樹
題目描述 請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。思路 利用兩個棧 stack1和stack2,分別存放奇數行結點和偶數行結點 設定行號變數,例如layer來表示奇數行或者偶數行。當列印stack...
59 按之字形順序列印二叉樹
請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。這道題還是二叉樹的層序遍歷思想,在每一層將資料存入另乙個棧中,其實也可以用佇列實現 struct treenode class solution if po...
按之字形順序列印二叉樹
題目描述 按之字形順序列印二叉樹 請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。解析 要分層列印,不能用常規方法,訪問乙個節點後,將該節點的左右子節點壓入佇列。奇數層從左到右列印,偶數層從右向左列印。使...