DFS LeetCode 547 省份数量(原题名: Friend Circles)

阅读 38

2022-02-04

class Solution {

    private int n = 0;

    public int findCircleNum(int[][] M) {
        n = M.length;
        int res = 0;
        boolean[] vis = new boolean[n];


        for (int i = 0; i < n; i++) {
            if (vis[i] == false) {
                dfs(M, i, vis);
                res++;
            }
        }


        return res;
    }

    private void dfs(int[][] M, int i, boolean[] vis) {
        vis[i] = true;

        for (int k = 0; k < n; k++) {
            if (M[i][k] == 1 && vis[k] == false) {
                dfs(M, k, vis);
            }
        }

        
    }
}

精彩评论(0)

0 0 举报