주어진 문제는 n개의 노드(1부터 n까지 번호가 매겨짐)로 구성된 무방향 스타 그래프에 관한 것입니다. 스타 그래프는 하나의 중심 노드와 정확히 n - 1개의 간선으로 이루어져 있으며, 이 간선들은 중심 노드와 다른 모든 노드를 연결합니다.
2D 정수 배열 edges가 주어지는데, 각 edges[i] = [ui, vi]는 노드 ui와 vi 사이에 간선이 있음을 나타냅니다. 주어진 스타 그래프의 중심 노드를 반환하세요.
입력: edges = [[1,2],[2,3],[4,2]]
출력: 2
설명: 위 그림에서 보이는 것처럼, 노드 2는 다른 모든 노드와 연결되어 있으므로 2가 중심 노드입니다.
입력: edges = [[1,2],[5,1],[1,3],[1,4]]
출력: 1
• 3 <= n <= 10^5
• edges.length == n - 1
• edges[i].length == 2
• 1 <= ui, vi <= n
• ui != vi
• 주어진 간선들은 유효한 스타 그래프를 나타냅니다.
간단하게 첫 두 개의 간선에서 공통으로 나타나는 노드를 찾는 방법을 사용할 수 있습니다. 스타 그래프의 특성상 첫 두 간선에는 반드시 공통된 노드가 하나 있습니다. 그 노드가 바로 중심 노드입니다.
class Solution:
def findCenter(self, edges: List[List[int]]) -> int:
a, b = edges[0]
c, d = edges[1]
if a == c or a == d:
return a
else:
return b