Class Solution
-
- All Implemented Interfaces:
public final class Solution3249 - Count the Number of Good Nodes.
Medium
There is an undirected tree with
nnodes labeled from0ton - 1, and rooted at node0. You are given a 2D integer arrayedgesof 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
treeNameis a tree consisting of a node intreeNameand 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 - 1edges[i].length == 2<code>0 <= a<sub>i</sub>, b<sub>i</sub>< n</code>
The input is generated such that
edgesrepresents a valid tree.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegercountGoodNodes(Array<IntArray> edges)-
-
Method Detail
-
countGoodNodes
final Integer countGoodNodes(Array<IntArray> edges)
-
-
-
-