검 지 Offer 는 이 진 트 리 를 여러 줄 로 인쇄 합 니 다(자바 구현)

글 목록
제목
제목 설명
1.2 문제 링크
실현 코드
제목
1.1 제목 설명
『8195』위 에서 아래로 층 별로 이 진 트 리 를 인쇄 하고 같은 층 의 결점 은 왼쪽 에서 오른쪽으로 출력 합 니 다.각 층 마다 한 줄 씩 출력 합 니 다.
1.2 문제 링크
  • :이 진 트 리 를 여러 줄 로 인쇄 합 니 다
  • 구현 코드
    import java.util.ArrayList;
    
    
    /*
    public class TreeNode {
        int val = 0;
        TreeNode left = null;
        TreeNode right = null;
    
        public TreeNode(int val) {
            this.val = val;
    
        }
    
    }
    */
    import java.util.Queue;
    import java.util.LinkedList;
    public class Solution {
        ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
            ArrayList<ArrayList<Integer>> list = new ArrayList<>();
            if(pRoot == null) return list;
            Queue<TreeNode> queue = new LinkedList<>();
            int cnt = 1;
            queue.offer(pRoot);
            while(queue.size() > 0){
                ArrayList<Integer> tmp = new ArrayList<Integer>();
                while(cnt-- > 0){
                    TreeNode node = queue.poll();
                    tmp.add(node.val);
                    if(node.left != null) queue.offer(node.left);
                    if(node.right != null) queue.offer(node.right);
                }
                cnt = queue.size();
                list.add(tmp);
            }
            return list;
        }
        
    }
    

    좋은 웹페이지 즐겨찾기