思路很简单,一切尽在代码中,我自己认为的精华就是代码中count这一行
ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) {
ArrayList<ArrayList<Integer>> result = new ArrayList<>();
if(pRoot == null){
return result;
}
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(pRoot);
while(!queue.isEmpty()){
int count = queue.size();
ArrayList<Integer> list = new ArrayList<>();
while(count>0){
TreeNode node = queue.poll();
list.add(node.val);
if(node.left!=null){
queue.add(node.left);
}
if(node.right != null){
queue.add(node.right);
}
count--;
}
result.add(list);
}
return result;
}