โ† All problems

1791. Find Center of Star Graph

EasyOpen on LeetCodeProblem statement

Problem Statement

1791. Find Center of Star Graph

Easy


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.

 

Example 1:

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.

Example 2:

Input: edges = [[1,2],[5,1],[1,3],[1,4]]
Output: 1

 

Constraints:

Java โ€” O(n)

Source file
class Solution {
    public int findCenter(int[][] edges) {
        int n = edges.length;
        Map<Integer, Integer> degree = new HashMap<>();
        for (int i = 0; i < n; i++) {
            degree.put(edges[i][0], degree.getOrDefault(edges[i][0], 0) + 1);
            degree.put(edges[i][1], degree.getOrDefault(edges[i][1], 0) + 1);
        }
        for (Map.Entry<Integer, Integer> e : degree.entrySet())
            if (e.getValue() == n)
                return e.getKey();
        return -1;
    }
}