# Leetcode 1791. Find center of star graph
## 記錄下無向圖的每個頂點度數
透過題目可以知道,連接的邊數目為 |V(E)| = |V(G)| - 1,且中心點的節點分支度(degree)為 |V(G)| - 1
而透過題目又可得知 **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.**
所以可以透過此條件計算出節點數為 edges + 1
計算出了節點數目後,就可以構造出紀錄每個節點分支度的陣列,最後確認分之度為 |V(E)|,的節點即為中心節點
```python=
class Solution:
def findCenter(self, edges: List[List[int]]) -> int:
degree = [0] * (len(edges) + 1)
for i in range(len(edges)):
degree[edges[i][0] - 1] += 1
degree[edges[i][1] - 1] += 1
for i in range(len(degree)):
if degree[i] == len(edges):
return i + 1
return -1
```
## 比對所有邊的交集
```python
class Solution:
def findCenter(self, edges: List[List[int]]) -> int:
result = edges[0]
for i in range(1, len(edges)):
result = list(set(result) & set(edges[i]))
return result.pop()
```
python 一行
```python=
class Solution:
def findCenter(self, edges: List[List[int]]) -> int:
return (set(edges[0]) & set(edges[1])).pop()
```