mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
添加python版本三
This commit is contained in:
@ -278,6 +278,40 @@ class Solution:
|
||||
|
||||
return result
|
||||
```
|
||||
```python
|
||||
# 我们用三个状态去标记每一个格子
|
||||
# 0 代表海水
|
||||
# 1 代表陆地
|
||||
# 2 代表已经访问的陆地
|
||||
class Solution:
|
||||
def traversal(self, grid, i, j):
|
||||
m = len(grid)
|
||||
n = len(grid[0])
|
||||
|
||||
if i < 0 or j < 0 or i >= m or j >= n:
|
||||
return # 越界了
|
||||
elif grid[i][j] == "2" or grid[i][j] == "0":
|
||||
return
|
||||
|
||||
grid[i][j] = "2"
|
||||
self.traversal(grid, i - 1, j) # 往上走
|
||||
self.traversal(grid, i + 1, j) # 往下走
|
||||
self.traversal(grid, i, j - 1) # 往左走
|
||||
self.traversal(grid, i, j + 1) # 往右走
|
||||
|
||||
def numIslands(self, grid: List[List[str]]) -> int:
|
||||
res = 0
|
||||
|
||||
|
||||
for i in range(len(grid)):
|
||||
for j in range(len(grid[0])):
|
||||
if grid[i][j] == "1":
|
||||
res += 1
|
||||
self.traversal(grid, i, j)
|
||||
|
||||
return res
|
||||
```
|
||||
|
||||
### JavaScript
|
||||
|
||||
```javascript
|
||||
|
Reference in New Issue
Block a user