leetcode547 朋友圈

2020-04-10  本文已影响0人  奥利奥蘸墨水

题目

朋友圈

分析

由题目知,每一个人都有一些朋友,朋友的朋友也是我的朋友,把这些朋友串联起来可以组成一个圈就是朋友圈。

解法:

代码

class Solution {
private:
    int res;
    vector<int> bo;
        
    void dfs(int k, vector<vector<int>>& nums){
        for (int i = 0; i < nums.size(); i++){
            if (nums[k][i] == 1 && bo[i] == 0){
                bo[i] = 1;
                dfs(i, nums);
            }
        }
    }
public:
    int findCircleNum(vector<vector<int>>& nums) {

        bo = vector(nums.size(), 0);
        res = 0;

        for (int i = 0; i < nums.size(); i++){
            if (bo[i] == 0){
                res++;
                dfs(i, nums);
            }
        }

        return res;
    }
};
上一篇下一篇

猜你喜欢

热点阅读