547. Friend Circles

 

把一行能达到的都遍历 visited为true 跟树的那个连接表一样

 

 1 class Solution {
 2     boolean[] visited;
 3     public int findCircleNum(int[][] M) {
 4         if(M.length == 0) return 0;
 5         int row = M.length;
 6         int col = M[0].length;
 7         visited = new boolean[row];
 8         int count = 0;
 9         for(int i = 0; i < row; i++){
10                 if(!visited[i]){
11                      dfs(M, i);
12                     count++;
13                 
14             }
15         }
16        
17         return count;
18         
19     }
20     
21     public void dfs(int[][] M, int i){
22         if(i < 0 || i >= M.length || visited[i]) return;
23         visited[i] = true;
24         for(int j = 0; j < M[0].length; j++){
25             if(M[i][j] == 1){
26                 dfs(M, j);
27             }
28         }
29         
30     }
31     
32 }

 

posted @ 2018-10-09 11:24  jasoncool1  阅读(119)  评论(0编辑  收藏  举报