[力扣算法]《200. 岛屿数量》
class Solution {
// the second type: failed(two error——for the lack of the consideration of the outcome of the recusion and full critical condition('缺乏递归出口和完整的临界条件的考虑'))
// public static int numIslands(char[][] grid) {
// if(grid == null || grid.length == 0)return 0;
// int rl = grid.length;
// int cl = grid[0].length;
// int ans = 0;
// for(int i = 0; i < rl; ++i){
// for(int j = 0; j < cl; ++j){
// if(grid[i][j] == '1'){
// ans++;
// dfs(grid, i, j);
// }
// }
// }
// // almost forget to return
// return ans;
// }
// public static void dfs(char [][] grid, int r, int c){
// int rl = grid.length;
// int cl = grid[0].length;
// if(r < 0 || r >= rl || c < 0 || c >= cl || grid[r][c] == '0')return;
// // if(grid[r][c] == '0')return; // error for this sentense is not full
// // the error cod changes into code of 21-23 line
// grid[r][c] = '0'; // the next line rount recusion('递归') error and not return is due to lack of this line cod;
// dfs(grid, r - 1, c); // error for lack of code in 28 line
// dfs(grid, r + 1, c);
// dfs(grid, r, c - 1);
// dfs(grid, r, c + 1);
// }
// add the wfs again
public static