二叉树的层序遍历:
采用队列法
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root){
Queue<TreeNode> queue =new ArrayDeque<TreeNode>();
ArrayList<Integer> list = new ArrayList<Integer>();
if(root==null){
return list;
}
TreeNode cur = root;
queue.add(cur);
while(!queue.isEmpty()){
cur = queue.remove();
list.add(cur.val);
System.out.println(cur.val);
if(cur.left!=null){
queue.add(cur.left);
}
if(cur.right!=null){
queue.add(cur.right);
}
}
return list;
}