51.之字形顺序打印二叉树
来源:互联网 发布:python自动化测试虫师 编辑:程序博客网 时间:2024/06/07 05:05
题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
解题思路:先都是按从左到右存入list,然后判断奇数层list输出,偶数层先反转list再输出
import java.util.ArrayList;import java.util.Queue;import java.util.LinkedList;import java.util.Collections;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { public ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {ArrayList<ArrayList<Integer>> result=new ArrayList<ArrayList<Integer>>(); Queue<TreeNode> queue=new LinkedList<TreeNode>(); int level=0; if(pRoot==null){ return result; } queue.offer(pRoot); ArrayList<Integer> list; while(!queue.isEmpty()){ list =new ArrayList<Integer>(); int size=queue.size(); for(int i=0;i<size;i++){ TreeNode node=queue.poll(); if(node.left!=null) { queue.offer(node.left); } if(node.right!=null){ queue.offer(node.right); } list.add(node.val); } if(level==1){ Collections.reverse(list); } result.add(list); level=level==0?1:0; } return result; }}
阅读全文
0 0
- 51.之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 牛客网 | 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 55.按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 【59】按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- Q61:按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 这道js面试题,我问了10个人,9个都回答错了,你呢?
- JQuery 操作iframe
- Idea新建的maven项目不能创建package和java的class文件的问题
- angular-mocks
- huawei性格
- 51.之字形顺序打印二叉树
- PHP-字符串转整型-不使用内置函数
- 自定义View系列(1)--加载动画LoadingView
- python 格式化输出
- spring boot 单个或多个文件上传
- 使用$http发送请求的时候显示loading
- Hive表操作及管理
- PyTorch(三)——使用训练好的模型测试自己图片
- android webview的使用