diff options
Diffstat (limited to 'number_islands.cpp')
-rw-r--r-- | number_islands.cpp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/number_islands.cpp b/number_islands.cpp deleted file mode 100644 index 96b8e0b..0000000 --- a/number_islands.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include "leetcode.h" - -class Solution { -public: - int numIslands(vector<vector<char>> &grid) { - int islands = 0; - for (int i = 0; i < grid.size(); i++) { - for (int j = 0; j < grid[0].size(); j++) { - if (grid[i][j] == '1') { - dfs(grid, i, j); - ++islands; - } - } - } - return islands; - } - -private: - void dfs(vector<vector<char>> &grid, int i, int j) { - if (i < 0 || i >= grid.size() || j < 0 || j >= grid[0].size()) - return; - if (grid[i][j] == '2' || grid[i][j] == '0') - return; - grid[i][j] = '2'; - dfs(grid, i + 1, j); - dfs(grid, i, j + 1); - dfs(grid, i - 1, j); - dfs(grid, i, j + 1); - } -}; |