200. Number of Islands
View on LeetCode ↗
C++
class Solution {public: void fillnumIslands(vector<vector<char>>& grid, int x, int y) { if (x < 0 || y < 0 || x >= grid.size() || y >= grid[0].size() || grid[x][y] == '0') return; grid[x][y] = '0'; fillnumIslands(grid, x, y - 1); fillnumIslands(grid, x, y + 1); fillnumIslands(grid, x + 1, y); fillnumIslands(grid, x - 1, y); } int numIslands(vector<vector<char>>& grid) { int island_count = 0; for (int i = 0; i < grid.size(); i++) { for (int j = 0; j < grid[0].size(); j++) { if (grid[i][j] == '1') { fillnumIslands(grid, i, j); ++island_count; } } } return island_count; }};
had solved before, was being stupid when i was doing diagonals instead of cartesian.