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)

results matching ""

    No results matching ""