Javadedfs的实现

class Solution {
    private int res=0;
    private int visited[];
    public boolean dfs(int[][]M,int x)
    {
        for(int j=0;jj)
        {
            if(visited[j]==0&&M[x][j]==1)  //就是将其的y轴变为x轴再继续dfs,就是深度优先遍历
            {
                visited[x]=1;
                dfs(M,j);
            }
        }
        return true;
    }
    public int findCircleNum(int[][] M) {
        visited=new int[M.length];
        for(int i=0;ii)
        {
            if(visited[i]==0)
            {
                dfs(M,i);
                res++;
            }
        }
        return res;
    }

 

你可能感兴趣的:(Javadedfs的实现)