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 ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
ArrayList<Integer> L1=new ArrayList<Integer>();
Deque<TreeNode> q = new LinkedList<TreeNode>();
//TreeNode tmp=new TreeNode(0);
q.offer(root);
if(tmp.left!=null)q.offer(tmp.left);
if(tmp.right!=null)q.offer(tmp.right);
}
return L1;
}
}
import java.util.*;
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
//offer()方法是Queue方法,插入到队尾,不成功就返回false。
//peek()和element()都在不移除的情况下返回队列的头部,peek()在队列为空时返回null,element()
//则会抛出NoSuchElementExcetion异常。
//poll()和remove()方法移除队列头部,poll()在队列为空的时候返回null,remove返回
//NoSuchElementException异常
public class Solution {public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
ArrayList<Integer> L1=new ArrayList<Integer>();
Deque<TreeNode> q = new LinkedList<TreeNode>();
//TreeNode tmp=new TreeNode(0);
q.offer(root);
while(q.peek()!=null){
TreeNode tmp=q.poll();
L1.add(tmp.val);if(tmp.left!=null)q.offer(tmp.left);
if(tmp.right!=null)q.offer(tmp.right);
}
return L1;
}
}