leetcode 200. 岛屿数量
从头开始遍历二维数组,找到1就把和它相邻的1都变成#,岛屿数量++
class Solution {
public:
vector<vector<char>> grids;
int numIslands(vector<vector<char>>& grid) {
grids = grid;
int cnt = 0;
for( int i = 0;i < grids.size(); i++ ){
for( int j = 0;j < grids[i].size();j ++){
if( grids[i][j] == '1'){
cnt ++;
dfs(i,j);
}
}
}
return cnt;
}
void dfs(int i,int j){
if( i>=0 && i<grids.size() && j>=0 && j<grids[0].size() && grids[i][j]=='1' ){
grids[i][j] = '#';
dfs(i+1,j);
dfs(i-1,j);
dfs(i,j+1);
dfs(i,j-1);
}
}
};
一发过,纪念一下!
还没有评论,来说两句吧...