나무 - 두 갈래 나무 층층이 훑어보는 다른 방법
1922 단어 두 갈래 나무층층이 두루 다니다
광범위 우선 검색(BFS), 보조 동적 그룹 ArrayList,cur로 현재 층 결점 개수,next로 다음 층 결점 개수를 표시합니다.
레이어 끝점만 인쇄하려면 레이어 수를 나타내는 변수를 하나 더 설정하면 됩니다.
코드는 다음과 같습니다.
import java.util.*;
public class Solution {
public void levelOrder(TreeNode root) {
if(root == null)
return;
LinkedList<TreeNode> list=new LinkedList();
list.add(root);
int cur=1;//list ;
int next=0;//list ;
while(list.size()!=0)
{
TreeNode node=list.remove(0);
//process(node); node , , ;
cur--;
if(node.left!=null)
{
list.add(node.left);
next++;
}
if(node.right!=null)
{
list.add(node.right);
next++;
}
if(cur == 0)// , ;
{
// ;
cur=next;
next=0;
}
}
}
방법 2:
모든 결점을list에 저장하는 방법;
코드는 다음과 같습니다.
public class Solution {
public void levelOrder(TreeNode root) {
if(root == null)
return;
LinkedList<TreeNode> list=new LinkedList();
list.add(root);
int cur=0;// list ;
int next=1;// list ;
while(cur<list.size())
{
next=list.size();//next ;
while(cur<next)
{
TreeNode node=list.get(cur);
//process(node); node , , ;
cur++;
if(node.left!=null)
list.add(node.left);
if(node.right!=null)
list.add(node.right);
}
// , ;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 데이터 구조 2차원 트리의 실현 코드일.두 갈래 트리 인터페이스 2 노드 클래스 3. 두 갈래 나무 구현 이 글을 통해 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.