There is an undirected star graph consisting of n
nodes labeled from 1
to n
. A star graph is a graph where there is one center node and exactly n - 1
edges that connect the center node with every other node.
You are given a 2D integer array edges
where each edges[i] = [ui, vi]
indicates that there is an edge between the nodes ui
and vi
. Return the center of the given star graph.
Input: edges = [[1,2],[2,3],[4,2]] Output: 2 Explanation: As shown in the figure above, node 2 is connected to every other node, so 2 is the center.
Input: edges = [[1,2],[5,1],[1,3],[1,4]] Output: 1
3 <= n <= 105
edges.length == n - 1
edges[i].length == 2
1 <= ui, vi <= n
ui != vi
- The given
edges
represent a valid star graph.
# @param {Integer[][]} edges
# @return {Integer}
def find_center(edges)
edges[0].include?(edges[1][0]) ? edges[1][0] : edges[1][1]
end
impl Solution {
pub fn find_center(edges: Vec<Vec<i32>>) -> i32 {
if edges[0].contains(&edges[1][0]) {
edges[1][0]
} else {
edges[1][1]
}
}
}