
深度优先搜索
飘来荡去、、
这个作者很懒,什么都没留下…
展开
-
岛屿的个数
思路:如果当前节点为陆地,那么就从该节点开始,按照深度优先遍历,直到遇到0就停止。遍历过程中将1赋值为0,避免重复遍历。通过这样遍历一次,就可以找到一个岛屿了。最后的矩阵中就全部为0了。相当于求连通子图 代码: class Solution { public int numIslands(char[][] grid) { int count = 0; ...原创 2019-01-21 15:33:32 · 225 阅读 · 0 评论 -
被围绕的区域
思路:从边界上的“O”出发进行深度搜索,将图中所有与边界上的“O”连通的“O”(包括边界上的“O”)都用“*”替代,那么图中所有“*”组成的区域其实是无法被“X”包围的,那么图中剩余的“O”就完全被“X”包围了。所以在深度搜索完成后,将图中所有“*”的点用“O”替换,所有“O”的点用“X”替换。 代码: class Solution { public void solve(ch...原创 2019-01-21 16:56:18 · 166 阅读 · 0 评论