Skip to content

Instantly share code, notes, and snippets.

@AmosAidoo
Created July 5, 2024 12:48
Show Gist options
  • Save AmosAidoo/479fe6e87bde5d7a674773328dd9159b to your computer and use it in GitHub Desktop.
Save AmosAidoo/479fe6e87bde5d7a674773328dd9159b to your computer and use it in GitHub Desktop.
class Solution {
public:
int solve(vector<vector<char>>& grid, int r, int c) {
if (!(r >= 0 && r < grid.size())) return 0;
if (!(c >= 0 && c < grid[r].size())) return 0;
if (grid[r][c] == '0') return 0;
grid[r][c] = '0';
solve(grid, r, c-1);
solve(grid, r, c+1);
solve(grid, r-1, c);
solve(grid, r+1, c);
return 1;
}
int numIslands(vector<vector<char>>& grid) {
int res = 0;
for (int i = 0; i < grid.size(); i++) {
for (int j = 0; j < grid[i].size(); j++) {
res += solve(grid, i, j);
}
}
return res;
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment