/* * 队列LinkedList完成层序遍历,用end记录每层结点数目 */ public class Solution { ArrayList > Print(TreeNode pRoot) { ArrayList> result = new ArrayList>(); if(pRoot==null) return result; ListedList layer = new LinkedList(); ArrayList layerList = new ArrayList(); layer.add(pRoot); int start =0 ,end=1; while(!layer.isEmpty()) { TreeNode p =layer.remove(); layerList.add(p.val); start++; if(p.left!=null) layer.add(p.left); if(p.right!=null) layer.add(p.right); if(start==end) { end = layer.size(); start=0; result.add(layerList); layerList = new ArrayList(); } } return result; } }