Grid

Current Cell

-

Scanning

-

Islands Found

0

DFS Stack

0
DFS Stack / BFS Queue
Empty
Click "Step" or "Play" to start the visualization
Water (0)
Land (1)
Current
Visited
Python Code - DFS Approach
for i in range(rows):
    for j in range(cols):
        if grid[i][j] == "1" and not visited[i][j]:
            islands += 1
            dfs(i, j) # mark all connected land
def dfs(i, j):
    visited[i][j] = True
    for di, dj in [(-1,0),(0,1),(1,0),(0,-1)]:
        if valid(i+di, j+dj) and not visited:
            dfs(i+di, j+dj)