class Solution:
def dfs(self,grid: List[List[str]],i:int,j:int):
if grid[i][j]=='1':
grid[i][j]='0'
else:
return
if i>0:
self.dfs(grid,i-1,j)
if i<len(grid)-1:
self.dfs(grid,i+1,j)
if j>0:
self.dfs(grid,i,j-1)
if j<len(grid[0])-1:
self.dfs(grid,i,j+1)
def numIslands(self, grid: List[List[str]]) -> int:
# dfs
res=0
for i in range(len(grid)):
for j in range(len(grid[0])):
if grid[i][j]=='1':
self.dfs(grid, i, j)
res+=1
return res