Merge pull request #781 from dancinghui/master

加入python版本的双指针解法
This commit is contained in:
程序员Carl
2021-09-29 10:36:19 +08:00
committed by GitHub

View File

@ -288,7 +288,34 @@ class Solution:
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