#
# Create by Hua on 3/24/22.
#

"""
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:
    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.
"""


class Solution(object):
    def findCenter(self, edges):
        """
        :type edges: List[List[int]]
        :rtype: int

        thought: every edge has a link to the center, just need to check
        2 edges, both of them should point to the center node.

        03/24/2022 10:39	Accepted	700 ms	52.6 MB	python
        easy 1 min. set intersection.
        """

        return (set(edges[0]) & set((edges[1]))).pop()


