# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 判断岛屿数量 # @param grid char字符型二维数组 # @return int整型 # class Solution: def dfs(self,i,j,grid,m,n): grid[i][j]='0' #表示已经遍历过 for di,dj in [[1,0],[-1,0],[0,1],[0,-1]]: ni,nj=di+i,dj+j if 0<=ni<m and 0<=nj<n and grid[ni][nj]=='1': #在不越界情况下dfs周围的格子 self.dfs(ni,nj,grid,m,n) def solve(self , grid: List[List[str]]) -> int: cnt=0 m,n=len(grid),len(grid[0]) for i,x in enumerate(grid): for j,y in enumerate(x): if y=='1': cnt+=1 self.dfs(i,j,grid,m,n) return cnt