剑指offer--把二叉树打印成多行
2017-08-07 19:46
309 查看
题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。[java] view
plain copy
import java.util.ArrayList;
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
if(pRoot==null) return result;
ArrayList<TreeNode> queue = new ArrayList<TreeNode>();
ArrayList<Integer> temp = new ArrayList<Integer>();
ArrayList<Integer> start = new ArrayList<Integer>();
start.add(pRoot.val);
result.add(start);
int low = 0;
int high = 1;
int end = high;
queue.add(pRoot);
while(low<high){
TreeNode t = queue.get(low);
if(t.left!=null){
queue.add(t.left);
temp.add(t.left.val);
high++;
}
if(t.right!=null){
queue.add(t.right);
temp.add(t.right.val);
high++;
}
low++;
if(low==end){
end = high;
if(temp.size()!=0)
result.add(temp);
temp = new ArrayList<Integer>();
}
}
return result;
}
}
原文链接http://blog.csdn.net/crazy__chen/article/details/45103617
相关文章推荐
- 剑指offer_二叉树---把二叉树打印成多行
- 剑指Offer--060-把二叉树打印成多行
- 剑指offer——把二叉树打印成多行
- 剑指offer面试题[60]-将二叉树打印成多行
- 剑指offer-60.把二叉树打印成多行
- 剑指offer-将二叉树打印为多行
- 【剑指Offer】面试题60:把二叉树打印成多行
- 剑指offer-----多行打印二叉树(java版)
- 剑指offer——把二叉树打印成多行
- 剑指Offer—60—把二叉树打印成多行
- 剑指offer——把二叉树打印成多行(一般)
- 剑指offer61题(把二叉树打印成多行)
- (C++)剑指offer-60:把二叉树打印成多行(树)
- 剑指offer——60.把二叉树打印成多行
- 剑指offer面试题60 把二叉树打印成多行(Java实现)
- 【剑指Offer学习】【面试题60:把二叉树打印出多行】
- 剑指offer----把二叉树打印成多行----java实现
- 剑指offer:把二叉树打印成多行
- [剑指offer]把二叉树打印成多行
- 剑指offer — 把二叉树打印成多行