题目描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8e49174193772444d8907584eed2c24f.png)
思路
本题要求岛屿的最大面积,就是相邻的 1 最多有多少个。
采用DFS。
- 定义dfs(int[ ][ ] grid, int r, int c)函数
- 首先思考,本题怎么处理某个坐标已访问,因为我们只需要找相邻的 1,而不需要去访问 0,当我们访问过某个 1 后,也不会再去访问它,所以将grid[r][c]设置为 0 即可。(每次找到岛屿,则直接把找到的岛屿改为0,传说中的沉岛思想)。在找下一个要访问的点时,判断 grid[r][c] != 0 再去访问。
- 每次调用的时候,默认area为1,进入后如果判断不是岛屿,则直接返回 0,就可以避免预防错误的情况。
代码
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c770a6f2e250221e93abe033bf236a7c.png)