二叉木を層順に巡る


アイデア:
キューQueueによる実装
チームを出るとき、チームの最初の要素に子供がいる場合は、その子供をチームの尾に入れます.
ループ条件はキューが空でないことです
import java.util.ArrayList;
import java.util.Queue;
import java.util.LinkedList;
/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public class Solution {
    public ArrayList PrintFromTopToBottom(TreeNode root) {
        ArrayList result=new ArrayList();
        if(root==null)
            return result;

        Queue data=new LinkedList();
        
        data.add(root);
        
        while(!data.isEmpty()){
            TreeNode n=data.poll();
            result.add(n.val);
            if(n.left!=null)
                data.add(n.left);
            if(n.right!=null)
                data.add(n.right);
        }
        return result;
    }
}

Queue:
java.util.Queue;
Java.util.Collectionインタフェースを拡張
 
実装クラスにLinkedListがある
入隊:boolean add(E);
出队:E poll();