加入python版本的双指针解法

This commit is contained in:
20200203127
2021-09-25 17:40:17 +08:00
parent 0f0bb6e741
commit 4a924b62ba

View File

@ -288,7 +288,34 @@ class Solution:
return s[left:right + 1] return s[left:right + 1]
``` ```
> 双指针法:
```python
class Solution:
def longestPalindrome(self, s: str) -> str:
def find_point(i, j, s):
while i >= 0 and j < len(s) and s[i] == s[j]:
i -= 1
j += 1
return i + 1, j
def compare(start, end, left, right):
if right - left > end - start:
return left, right
else:
return start, end
start = 0
end = 0
for i in range(len(s)):
left, right = find_point(i, i, s)
start, end = compare(start, end, left, right)
left, right = find_point(i, i + 1, s)
start, end = compare(start, end, left, right)
return s[start:end]
```
## Go ## Go
```go ```go