Number of Islands
DFS和BFS都比较容易想
class Solution(object):
def numIslands(self, grid):
"""
:type grid: List[List[str]]
:rtype: int
"""
n = len(grid)
if not n:
return 0
m = len(grid[0])
if not m:
return 0
result = 0
for i in xrange(n):
for j in xrange(m):
if grid[i][j] == '1':
self.DFS(grid, i, j, n, m)
result += 1
return result
def DFS(self, grid, row, col, n, m):
grid[row][col] = 'A'
for i, j in [[0, 1], [1, 0], [-1, 0], [0, -1]]:
if 0 <= row + i < n and 0 <= col + j < m:
if grid[row + i][col + j] == '1':
self.DFS(grid, row + i, col + j, n, m)