国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > 把二叉树打印成多行

把二叉树打印成多行

来源:程序员人生   发布时间:2016-07-11 08:13:58 阅读次数:2422次

题目

从上到下按层打印2叉树,同1层结点从左至右输出。每层输出1行。

解题

2叉树的层次遍历
用队列

import java.util.ArrayList; import java.util.*; /* 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<Integer> row = new ArrayList<Integer>(); ArrayList<ArrayList<Integer> > result = new ArrayList<ArrayList<Integer> >(); if(pRoot == null) return result; Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.offer(pRoot); while(!queue.isEmpty()){ int size = queue.size(); row = new ArrayList<Integer>(); while((size--)>0){ TreeNode node = queue.poll(); row.add(node.val); if(node.left!=null) queue.offer(node.left); if(node.right!=null) queue.offer(node.right); } result.add(row); } return result; } }

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生