题目描述:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。

思路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

面试题:之字形顺序打印二叉树相关推荐

  1. 剑指offer——面试题61:按之字形顺序打印二叉树

    剑指offer--面试题61:按之字形顺序打印二叉树 Solution1: 基于上一题的解法,缺点:效率低下! /* struct TreeNode {int val;struct TreeNode ...

  2. java面试(二十六)--(1)J2EE中常用名词(2)讲一下redis的主从复制怎么做的?(3)请谈谈你对Javaweb开发中的监听器的理解?(4)按之字形顺序打印二叉树(5)内部类大全

    1.J2EE中常用名词 web容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使 JSP,SERVLET直接跟容器中的环境变量接**互,不必关注其它系统问题.主要有WEB服务器来 ...

  3. 按之字形顺序打印二叉树

    题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 此道题目可以跟  把二叉树打印成多行:htt ...

  4. (剑指Offer)面试题61:按之字形顺序打印二叉树

    题目: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 思路: 按照广度优先遍历来遍历二叉树,但是需要 ...

  5. [剑指Offer] 59.按之字形顺序打印二叉树

    题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. [思路]先按层次遍历存入,通过设立标志位,将 ...

  6. 剑指Offer(Java实现)按之字形顺序打印二叉树

    题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路 方法一:利用两个栈的辅助空间分别存 ...

  7. 剑指offer-按之字形顺序打印二叉树

    题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 使用双向链表,先把当前行按顺序打印,再取出当 ...

  8. 打印list_按之字形顺序打印二叉树

    题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路及代码 这题是 LiShun:把二叉 ...

  9. 剑指offer(C++)-JZ77:按之字形顺序打印二叉树(数据结构-树)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直 ...

  10. 【NC14 按之字形顺序打印二叉树】

    描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 数据范围:0 \le n \le 15000≤n≤1500,树上每个节点的val满足 |val| ...

最新文章

  1. 字符串问题简述与两个基本问题的Java实现——判断二叉树拓扑结构关系与变形词...
  2. MFC获取系统当前时间
  3. 【Linux】一步一步学Linux——ping命令(150)
  4. 安装vs2019导致vs2017打开项目失败
  5. es6分享——变量的解构赋值
  6. python输入一个字符串、输出他的所以组合_Swift - 排列组合之全排列 (输入一个字符串,输出该字符串包含的字符的所有组合)...
  7. The Importance of Money in Life
  8. Max Time-Delay Neural Networks
  9. python完全支持面向对象编程_Python 面向对象编程概要
  10. 学习英文之社区,博客及源码 转载
  11. 1.1模式识别的重要性
  12. 认识uclinux(与LINUX区别)
  13. Codeforces Beta Round #94 (Div. 1 Only)A. Statues
  14. 记录微信分享图标不显示的问题
  15. pyecharts画地图—个性化设置
  16. 自学python怎么找工作-我是如何在自学编程9个月后找到工作的
  17. Python实现一个总体的均值、比例、方差检验
  18. saltstack自动化运维一键部署rpm安装httpd和源码安装nginx
  19. 国内O365和国外O365的区别
  20. 怎样做需求调研:研讨会

热门文章

  1. 中国快递包裹总量的预测-基于SARIMA模型
  2. 国内车联网行业 2015年发展趋势
  3. HDU 2234 无题I
  4. iphone:使用NSFileManager取得目录下所有文件(遍历所有文件)
  5. NeurlPS2021 | 视觉语言导航的课程学习
  6. EMNLP2021 | 标签推理的细粒度实体识别
  7. 【激活函数】深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点...
  8. dtreeviz 画树模型
  9. NLP学习—23.基于Transformer的机器翻译实战
  10. 数据结构与算法python—9.二叉树及python实现