검 지 offer --- 위 에서 아래로 이 진 트 리 인쇄
7298 단어 알고리즘
데이터 구조 와 관련 된 문 제 는 아직 좀 생소 하 니, 아무래도 시간 을 내 서 데이터 구조의 책 을 다시 한 번 복습 해 야 할 것 같다.
제목 설명
위 에서 아래로 이 진 트 리 의 모든 노드 를 인쇄 하고 같은 층 의 노드 는 왼쪽 에서 오른쪽으로 인쇄 합 니 다.
사고의 방향
이 문 제 는 실제 적 으로 이 진 트 리 의 층 차 를 옮 겨 다 니 는 것 이다. 문 제 를 추상 적 으로 풀 면 대열 의 문제 이다. 먼저 뿌리 노드 를 대열 에 넣 고 값 을 인쇄 한 다음 에 뿌리 노드 의 왼쪽 서브 트 리, 오른쪽 서브 트 리 를 순서대로 들 어가 서 나 무 를 다 옮 겨 다 닐 때 까지 인쇄 한다.
코드
import java.util.ArrayList; // ,
import java.util.LinkedList;
import java.util.Queue;
public class leetcode_22 {
public static void main(String[] args) {
}
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<>(); // , , Queue
ArrayList<Integer> result = new ArrayList<>(); //
if (root == null){
return result;
}
queue.offer(root); //
while (!queue.isEmpty()){ //
TreeNode tmpNode = queue.poll(); //
result.add(tmpNode.val);
if (tmpNode.left != null){ //
queue.offer(tmpNode.left);
}
if (tmpNode.right != null){ //
queue.offer(tmpNode.right);
}
}
return result;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.