目录
🌺题目描述
1791. 找出星型图的中心节点

 
🌺方案一
由题意可得,一共有n个节点,只有一个中心节点,因此,中心节点出现了 n−1次。
遍历 edges 中的每条边并计算每个节点出现的次数,返回出现了n-1次的节点就是中心节点。
class Solution {
public:
    int findCenter(vector<vector<int>>& edges) {
        int n=edges.size();
        vector<int> a(n + 2,0);
        for(int i=0;i<n;i++)
        {
            a[edges[i][0]]++;
            a[edges[i][1]]++;
        }
        for(int i=0;;i++)
        {
            if(a[i]==n)
                return i;
        }
    }
};
 
🌺方案二
有图像可以看出,对于星型图中的任意两边,总是连接着中心节点。因此,我们可以选取第一条边和第二条边,寻找重复出现的点,这个点就是中心节点。
class Solution {
public:
    int findCenter(vector<vector<int>>& edges) {
        if(edges[0][0]==edges[1][0]||edges[0][0]==edges[1][1])
            return edges[0][0];
        else
            return edges[0][1];
    }
}; 
🌺每日金句
争取每天写一份力扣题解,不积跬步无以至千里,相信坚持下去会有收获的!










