面试题61. 按之字形顺序打印二叉树
来源:互联网 发布:算法工程师专业 编辑:程序博客网 时间:2024/06/04 19:34
面试题61. 按之字形顺序打印二叉树
题目描述
请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
思路:
修改BFS
import java.util.ArrayList;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>>(); if(pRoot == null) return result; ArrayList<TreeNode> list = new ArrayList(); // BFS用到 list.add(pRoot); int line = 1; ArrayList<Integer> arr; while(!list.isEmpty()) { int size = list.size(); arr = new ArrayList(); for(int i = 0; i < size; i++) { TreeNode node = list.get(0); arr.add(node.val); if(node.left != null) { list.add(node.left); } if(node.right != null) { list.add(node.right); } list.remove(node); } if(line % 2 == 0) { Collections.reverse(arr); } result.add(arr); line++; arr = null; // gc } return result; }}
阅读全文
0 0
- 面试题61. 按之字形顺序打印二叉树
- 面试题61:按之字形顺序打印二叉树
- 面试题68:按之字形顺序打印二叉树
- 面试题61:按之字形顺序打印二叉树
- 面试题61:按之字形顺序打印二叉树
- 面试题61:按之字形顺序打印二叉树
- 《剑指Offer》学习笔记--面试题61:按之字形顺序打印二叉树
- 【剑指Offer学习】【面试题61:按之字形顺序打印二叉树】
- 剑指offer-面试题61:按之字形顺序打印二叉树
- 剑指offer--面试题61:按之字形顺序打印二叉树
- 剑指offer-面试题61-按之字形顺序打印二叉树
- 剑指offer 面试题61 按之字形顺序打印二叉树
- 剑指offer面试题61 按之字形顺序打印二叉树(java实现)
- 【剑指Offer】面试题61:按之字形顺序打印二叉树
- 《剑指offer》Python语言 面试题61:按之字形顺序打印二叉树
- 剑指offer——面试题61:按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- 按之字形顺序打印二叉树
- hdu5073-思维&方差-Galaxy
- 多线程2、GUI、设计模式
- The study of List Comprehensions in Python(20170911)
- 分拆数 && hdu 4651 && hdu 4658
- 基于esp8266的开发导航帖arduino ide for esp8266
- 面试题61. 按之字形顺序打印二叉树
- xml快速入门(tinyxml解析)
- 欢迎使用CSDN-markdown编辑器
- 性能测试工具ab使用记录
- 【软考】--操作系统导图
- 希尔排序
- bzoj1042 [HAOI2008]硬币购物
- git命令-切换分支
- bzoj1089 [SCOI2003]严格n元树