面试题:之字形顺序打印二叉树
题目描述:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。
思路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
面试题:之字形顺序打印二叉树相关推荐
- 剑指offer——面试题61:按之字形顺序打印二叉树
剑指offer--面试题61:按之字形顺序打印二叉树 Solution1: 基于上一题的解法,缺点:效率低下! /* struct TreeNode {int val;struct TreeNode ...
- java面试(二十六)--(1)J2EE中常用名词(2)讲一下redis的主从复制怎么做的?(3)请谈谈你对Javaweb开发中的监听器的理解?(4)按之字形顺序打印二叉树(5)内部类大全
1.J2EE中常用名词 web容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使 JSP,SERVLET直接跟容器中的环境变量接**互,不必关注其它系统问题.主要有WEB服务器来 ...
- 按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 此道题目可以跟 把二叉树打印成多行:htt ...
- (剑指Offer)面试题61:按之字形顺序打印二叉树
题目: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 思路: 按照广度优先遍历来遍历二叉树,但是需要 ...
- [剑指Offer] 59.按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. [思路]先按层次遍历存入,通过设立标志位,将 ...
- 剑指Offer(Java实现)按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路 方法一:利用两个栈的辅助空间分别存 ...
- 剑指offer-按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 使用双向链表,先把当前行按顺序打印,再取出当 ...
- 打印list_按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 解题思路及代码 这题是 LiShun:把二叉 ...
- 剑指offer(C++)-JZ77:按之字形顺序打印二叉树(数据结构-树)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直 ...
- 【NC14 按之字形顺序打印二叉树】
描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 数据范围:0 \le n \le 15000≤n≤1500,树上每个节点的val满足 |val| ...
最新文章
- 字符串问题简述与两个基本问题的Java实现——判断二叉树拓扑结构关系与变形词...
- MFC获取系统当前时间
- 【Linux】一步一步学Linux——ping命令(150)
- 安装vs2019导致vs2017打开项目失败
- es6分享——变量的解构赋值
- python输入一个字符串、输出他的所以组合_Swift - 排列组合之全排列 (输入一个字符串,输出该字符串包含的字符的所有组合)...
- The Importance of Money in Life
- Max Time-Delay Neural Networks
- python完全支持面向对象编程_Python 面向对象编程概要
- 学习英文之社区,博客及源码 转载
- 1.1模式识别的重要性
- 认识uclinux(与LINUX区别)
- Codeforces Beta Round #94 (Div. 1 Only)A. Statues
- 记录微信分享图标不显示的问题
- pyecharts画地图—个性化设置
- 自学python怎么找工作-我是如何在自学编程9个月后找到工作的
- Python实现一个总体的均值、比例、方差检验
- saltstack自动化运维一键部署rpm安装httpd和源码安装nginx
- 国内O365和国外O365的区别
- 怎样做需求调研:研讨会
热门文章
- 中国快递包裹总量的预测-基于SARIMA模型
- 国内车联网行业 2015年发展趋势
- HDU 2234 无题I
- iphone:使用NSFileManager取得目录下所有文件(遍历所有文件)
- NeurlPS2021 | 视觉语言导航的课程学习
- EMNLP2021 | 标签推理的细粒度实体识别
- 【激活函数】深度学习领域最常用的10个激活函数,一文详解数学原理及优缺点...
- dtreeviz 画树模型
- NLP学习—23.基于Transformer的机器翻译实战
- 数据结构与算法python—9.二叉树及python实现