Number of Islands
https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/530/week-3/3302/
class Solution:
def numIslands(self, grid: List[List[str]]) -> int:
def dfs(i,j,grid):
m = len(grid)
n = len(grid[0])
if i < 0 or i >= m or j < 0 or j >= n or grid[i][j] == "0":
return
grid[i][j] = "0"
dfs(i-1,j,grid)
dfs(i+1,j,grid)
dfs(i,j-1,grid)
dfs(i,j+1,grid)
cnt = 0
m = len(grid)
if m == 0:
return cnt
n = len(grid[0])
for i in range(m):
for j in range(n):
if grid[i][j] == "1":
dfs(i,j,grid)
cnt+=1
return cnt
Last updated
Was this helpful?