【题目】
【代码】
【方法1】递归法
class Solution:
def numIslands(self, grid: List[List[str]]) -> int:
n=len(grid)
def dfs(x,y):
if x>=0 and x<n and y>=0 and y<len(grid[0]) and grid[x][y]=="1":
grid[x][y]="0"
return 1+dfs(x-1,y)+dfs(x+1,y)+dfs(x,y-1)+dfs(x,y+1)
return 0
cnt=0
for i in range(n):
for j in range(len(grid[0])):
if grid[i][j]=="1":
cnt+=1
dfs(i,j)
return cnt