나무--두 갈래 나무 층층이 두루 다니다

방법 1:
광범위 우선 검색(BFS), 보조 동적 그룹 ArrayList,cur로 현재 층 결점 개수,next로 다음 층 결점 개수를 표시합니다.
레이어 끝점만 인쇄하려면 레이어 수를 나타내는 변수를 하나 더 설정하면 됩니다.
코드는 다음과 같습니다.
import java.util.*;
public class Solution {
       public void levelOrder(TreeNode root) {
        if(root == null)
            return;
        LinkedList 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;
                }
            }
    }

좋은 웹페이지 즐겨찾기