LeetCode 200
Number of Islands
class Solution {
public:
int numIslands(vector<vector<char>>& grid) {
int num = 0;
for (int i = 0; i < grid.size(); i++) {
for (int j = 0; j < grid[0].size(); j++) {
if (grid[i][j] == '1') {
num++;
Island(grid, i, j);
}
}
}
return num;
}
void Island(vector<vector<char>>& grid, int i, int j) {
if (i >= 0 && i < grid.size() && j >= 0 && j < grid[0].size() && grid[i][j] == '1') {
grid[i][j] = '0';
Island(grid, i, j+1);
Island(grid, i, j-1);
Island(grid, i+1, j);
Island(grid, i-1, j);
}
return;
}
};