classSolution{public:voiddfs(vector<vector<char>>& grid,int i,int j){int m = grid.size()// 行數int n = grid[0].size();// 列數if(i <0|| j <0|| i >= m || j >= n || grid[i][j]=='0')return;
grid[i][j]='0';dfs(grid, i-1, j);dfs(grid, i, j-1);dfs(grid, i+1, j);dfs(grid, i, j+1);}intnumIslands(vector<vector<char>>& grid){if(grid.size()==0|| grid[0].size()==0)return0;
m = grid.size();
n = grid[0].size();int res =0;for(int i =0; i < m;++i){for(int j =0; j < n;++j){if(grid[i][j]=='1'){dfs(grid, i, j);
res++;}}}return res;}};