Class Solution
-
- All Implemented Interfaces:
public final class Solution
3249 - Count the Number of Good Nodes.
Medium
There is an undirected tree with
n
nodes labeled from0
ton - 1
, and rooted at node0
. You are given a 2D integer arrayedges
of lengthn - 1
, where <code>edgesi = a<sub>i</sub>, b<sub>i</sub></code> indicates that there is an edge between nodes <code>a<sub>i</sub></code> and <code>b<sub>i</sub></code> in the tree.A node is good if all the subtrees rooted at its children have the same size.
Return the number of good nodes in the given tree.
A subtree of
treeName
is a tree consisting of a node intreeName
and all of its descendants.Example 1:
Input: edges = [0,1,0,2,1,3,1,4,2,5,2,6]
Output: 7
Explanation:
All of the nodes of the given tree are good.
Example 2:
Input: edges = [0,1,1,2,2,3,3,4,0,5,1,6,2,7,3,8]
Output: 6
Explanation:
There are 6 good nodes in the given tree. They are colored in the image above.
Example 3:
Input: edges = [0,1,1,2,1,3,1,4,0,5,5,6,6,7,7,8,0,9,9,10,9,12,10,11]
Output: 12
Explanation:
All nodes except node 9 are good.
Constraints:
<code>2 <= n <= 10<sup>5</sup></code>
edges.length == n - 1
edges[i].length == 2
<code>0 <= a<sub>i</sub>, b<sub>i</sub>< n</code>
The input is generated such that
edges
represents a valid tree.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final Integer
countGoodNodes(Array<IntArray> edges)
-
-
Method Detail
-
countGoodNodes
final Integer countGoodNodes(Array<IntArray> edges)
-
-
-
-