LeetCode——559。Nフォークツリーの最大深度

タイトル説明:

N-aryツリーが与えられた場合、その最大の深さを見つけます。最大深度とは、ルートノードから最も遠いリーフノードまでの最長パス上のノードの総数を指します。N-aryツリーの入力は、階層順にトラバースおよびシリアル化され、サブノードの各グループはnull値で区切られます(例を参照)。

ヒント:
木の深さは1000を超えません。
ツリー内のノードの数は[0、104]の間にあります。

例1:

ここに画像の説明を挿入
入力:root = [1、null、3,2,4、null、5,6]
出力:3

例2:
ここに画像の説明を挿入
入力:root = [1、null、2,3,4,5、null、null、6,7、null、8、null、9,10、null、null、11、null、12、null、 13、null、null、14]
出力:5

JAVAコードは次のとおりです。

/*
// Definition for a Node.
class Node {
    public int val;
    public List<Node> children;

    public Node() {}

    public Node(int _val) {
        val = _val;
    }

    public Node(int _val, List<Node> _children) {
        val = _val;
        children = _children;
    }
};
*/

class Solution {
    
    
    public int maxDepth(Node root) {
    
    
        if (root == null) {
    
    
            return 0;
        }
        Queue<Node> que = new LinkedList<>();
        que.offer(root);
        int count=0;
        while (!que.isEmpty()) {
    
    
            int size = que.size();
            for (int i = 0; i < size; i++) {
    
    
                Node t = que.poll();
                for(Node child : t.children){
    
    
                    que.offer(child);
                }
            }
            count++;
        }
        return count;
    }
}

結果:
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/FYPPPP/article/details/113569547