關于二叉樹的題怎么做,面試題:之字形順序打印二叉樹

 2023-12-25 阅读 28 评论 0

摘要:題目描述:請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。 思路1:借助兩個棧實現 思路2:在偶數行需要倒著打印,可

題目描述:請實現一個函數按照之字形打印二叉樹,即第一行按照從左到右的順序打印,第二層按照從右至左的順序打印,第三行按照從左到右的順序打印,其他行以此類推。

思路1:借助兩個棧實現

思路2:在偶數行需要倒著打印,可以用list.add(0,node.val);反著插入節點值

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;
public class Solution {public ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {ArrayList<ArrayList<Integer>> result=new ArrayList<ArrayList<Integer>>();if(pRoot==null) return result;Queue<TreeNode> queue=new LinkedList<TreeNode>();queue.add(pRoot);int rows=1;while(!queue.isEmpty()){ArrayList<Integer> list=new ArrayList<>();int size=queue.size();for(int i=0;i<size;i++){TreeNode node=queue.poll();if(rows%2==0)list.add(0,node.val);elselist.add(node.val);if(node.left!=null)queue.offer(node.left);if(node.right!=null)queue.offer(node.right);}result.add(list);rows++;}return result;}
}

?

關于二叉樹的題怎么做、轉載于:https://www.cnblogs.com/Aaron12/p/9532030.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/194940.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息