53.从左向右层次打印二叉树

来源:互联网 发布:mysql数据库集群搭建 编辑:程序博客网 时间:2024/05/17 03:51

题目描述

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


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