Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int findCircleNum(vector<vector<int>>& M) {
- int n = (int)M.size();
- if(!n) return 0;
- int cnt_circle=0;
- vector<int>visit(n, 0);
- for(int i=0; i<n;i++)
- {
- if( !visit[i] )
- {
- dfs(i, visit, M);
- cnt_circle++;
- }
- }
- return cnt_circle;
- }
- void dfs(int node, vector<int>&visit, vector<vector<int>>&M)
- {
- visit[node] = 1;
- for( int i=0;i<(int)M[node].size();i++ )
- {
- if( !visit[i] && M[node][i] == 1)
- {
- dfs(i, visit, M);
- }
- }
- }
- };
Add Comment
Please, Sign In to add comment