# 1791. Find Center of Star Graph 找出星型图的中心节点 【GRAPH】 簡單 題目: 有一個無向的 星型 圖,由 n 個編號從 1 到 n 的節點組成。星型圖有一個 中心 節點,並且恰有 n - 1 條邊將中心節點與其他每個節點連接起來。 給你一個二維整數數組 edges ,其中 edges[i] = [ui, vi] 表示在節點 ui 和 vi 之間存在一條邊。請你找出並返回 edges 所表示星型圖的中心節點。 示例1: ![](https://i.imgur.com/82Sf1k7.png) ``` 輸入:edges = [[1,2],[2,3],[4,2]] 輸出:2 解釋:如上圖所示,節點 2 與其他每個節點都相連,所以節點 2 是中心節點。 ``` 示例2: ``` 输入:edges = [[1,2],[5,1],[1,3],[1,4]] 输出:1 ``` 思路: 中心點會跟其他點連接,故中心點的度是n-1,在每一個pair中有出現。 第一個pair的第一個元素,在第二個pair中有出現,則第一個元素是中心點。反之,第一個pair的第二個元素是中心點。 統計每個pair的第一個、第二個元素出現的次數,出現過n-1次的元素是中心點。 ```java= class Solution { public int findCenter(int[][] edges) { Map<Integer, Integer> map = new HashMap<>(); for(int i=0;i<edges.length;i++){ map.put(edges[i][0], map.getOrDefault(edges[i][0], 0)+1); map.put(edges[i][1], map.getOrDefault(edges[i][1], 0)+1); } int n = map.size(); for(Integer k:map.keySet()){ if(map.get(k) == n-1){ return k; } } return -1; } } ```