검 지 Offer 는 이 진 트 리 를 여러 줄 로 인쇄 합 니 다(자바 구현)
6797 단어 《검지 제공》자바 판
제목
제목 설명
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;
}
}