之字打印树
来源:互联网 发布:浮生一日知乎 编辑:程序博客网 时间:2024/04/30 17:30
import
java.util.ArrayList;
import
java.util.Stack;
/*
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;
Stack<TreeNode> s1=
new
Stack<TreeNode>();
Stack<TreeNode> s2=
new
Stack<TreeNode>();
s1.push(pRoot);
TreeNode temp;
ArrayList<Integer> tArrayList;
while
(!s1.empty()||!s2.empty()){
tArrayList=
new
ArrayList<Integer>();
while
(!s1.empty()){
temp=s1.pop();
tArrayList.add(temp.val);
if
(temp.left!=
null
)
s2.push(temp.left);
if
(temp.right!=
null
)
s2.push(temp.right);
}
if
(!tArrayList.isEmpty()){
result.add(tArrayList);
}
tArrayList=
new
ArrayList<Integer>();
while
(!s2.empty()){
temp=s2.pop();
tArrayList.add(temp.val);
if
(temp.right!=
null
)
s1.push(temp.right);
if
(temp.left!=
null
)
s1.push(temp.left);
}
if
(!tArrayList.isEmpty()){
result.add(tArrayList);
}
}
return
result;
}
}
- 添加笔记
0 0
- 之字打印树
- 【算法题】之字打印二叉树
- 《剑指offer》按之字行顺序打印二叉树
- 剑指offer--安之字顺序打印二叉树
- 【剑指offer】题61:之字打印二叉树
- 二维数组的转圈打印和“之”字打印
- 矩阵转换问题(蛇形打印,蛇形顺序打印,之字打印)c方法
- php 递归无限级分类应用之打印子栏目,打印子孙栏目,打印家谱树
- 菜鸟成长之二叉树结构打印
- java之从上到下打印二叉树
- 面试准备之--二叉树打印
- 数据结构之打印一棵二叉树
- 按之字型顺序打印二叉树
- 【剑指offer】按层和按之字打印二叉树
- Javascript之打印相关
- IE 打印之activex
- API之打印函数
- API之打印函数
- Linux 下zip包的压缩与解压
- [未完成]游戏粒子系统的优化相关
- Jquery实现列表项的快速检索
- 电气人员操作注意
- bootstrap进度条
- 之字打印树
- redis实现分布式锁
- mysql 源码安装
- java生成秘钥key,并保存秘钥到文件中
- CentOS 7 网络配置
- Java调用 新浪微博API 接口发微博,逐项讲解,绝对清晰
- 把电脑·系统属性·注册到(JS的名字,电话)给更改掉
- 第8讲-数值数据类型及表现-练习
- 16-01-14 TextView 属性