JZ60--- 두 갈래 나무를 여러 줄로 인쇄하기

5464 단어 검지offer
제목 설명: 위에서 아래로 층별로 두 갈래 트리를 인쇄하고 같은 층의 결점은 왼쪽에서 오른쪽으로 출력합니다.층마다 줄을 출력합니다.
문제: 겹겹이 훑어보다
public ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
    ArrayList<ArrayList<Integer>> res = new ArrayList<> ();
    Queue<TreeNode> queue = new LinkedList<> ();
    queue.offer (pRoot);
    while(!queue.isEmpty ()){
        ArrayList<Integer> list = new ArrayList<> ();
        int size = queue.size ();
        for(int i = 0;i < size;i++){
            TreeNode node = queue.poll ();
            if(node == null){
                continue;
            }
            list.add (node.val);
            queue.offer (node.left);
            queue.offer (node.right);
        }
        if(list.size () > 0){
            res.add (list);
        }
    }
    return res;
}

좋은 웹페이지 즐겨찾기