面试题23:从上往下打印二叉树

来源:互联网 发布:js让tr隐藏 编辑:程序博客网 时间:2024/06/05 21:55
importjava.util.ArrayList;
importjava.util.Deque;//注意引入包
importjava.util.LinkedList;
/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;
 
    public TreeNode(int val) {
        this.val = val;
 
    }
 
}
*/
publicclass Solution {
     publicArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
         ArrayList<Integer> list = newArrayList<Integer>();
         if(root == nullreturnlist;
         Deque<TreeNode> deque = newLinkedList<TreeNode>();
         
         deque.add(root);
         while(!deque.isEmpty()){
             TreeNode t = deque.pop();
             list.add(t.val);
             if(t.left != null) deque.add(t.left);
             if(t.right != null) deque.add(t.right);
         }
         returnlist;
     }
}