[LeetCode] 5. Longest Palindromic Substring
4914 ワード
Longest Palindromic Substring
コード#コード# class Solution:
def longestPalindrome(self, s: str) -> str:
def expand(left: int, right: int) -> str:
while left >= 0 and right < len(s) and s[left] == s[right]:
left -= 1
right += 1
return s[left + 1:right]
if len(s) < 2 or s == s[::-1]:
return s
result = ""
for i in range(len(s)):
result = max(result,
expand(i, i + 1),
expand(i, i + 2),
key=lambda x: len(x))
return result
方法
class Solution:
def longestPalindrome(self, s: str) -> str:
def expand(left: int, right: int) -> str:
while left >= 0 and right < len(s) and s[left] == s[right]:
left -= 1
right += 1
return s[left + 1:right]
if len(s) < 2 or s == s[::-1]:
return s
result = ""
for i in range(len(s)):
result = max(result,
expand(i, i + 1),
expand(i, i + 2),
key=lambda x: len(x))
return result
方法
回文文字は、偶数/奇数の長さであってもよい.
考慮すべきことは、
짝수
および홀수
文字である.ここでのポイントは、偶数文字と奇数文字を同時に考慮することです.
確認文字の範囲をダブルポインタで拡大
Reference
この問題について([LeetCode] 5. Longest Palindromic Substring), 我々は、より多くの情報をここで見つけました https://velog.io/@guswns3371/LeetCode-5.-Longest-Palindromic-Substringテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol