검지offer(java 실현) 22번 "위에서 아래로 두 갈래 나무 인쇄"- 우객망

1269 단어

제목 설명


위에서 아래로 두 갈래 나무의 각 노드를 인쇄하고, 같은 층의 노드는 왼쪽에서 오른쪽으로 인쇄합니다.
시간제한: 1초 공간제한: 32768K 열도지수: 214680

답변:

import java.util.ArrayList;
import java.util.concurrent.LinkedBlockingQueue;
/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

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

    }

}
*/
public class Solution {// : , : , , 
    // ; , ( ) ... 0
    public ArrayList PrintFromTopToBottom(TreeNode root) {
                ArrayList array = new ArrayList();
        if (null == root) {
            return array;
        }
        if (root.left==null && root.right==null) {
            array.add(root.val);
            return array;
        }
        LinkedBlockingQueue queue1 = new LinkedBlockingQueue();
        queue1.add(root);
        while (queue1.size()!=0) {
            TreeNode curNode = queue1.poll();
            array.add(curNode.val);
            if (curNode.left != null) {
                queue1.add(curNode.left);
            }
            if (curNode.right != null) {
                queue1.add(curNode.right);
            }
        }
        return array;
    }
}

좋은 웹페이지 즐겨찾기