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 }