5 最长回文字符串-中等
题目:
给你一个字符串 s
,找到 s
中最长的回文子串。
如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。
分析:
从中心到两边的双指针。
// date 2023/12/09
func longestPalindrome(s string) string {
res := ""
n := len(s)
var checkPalindrome func(left, right int)
checkPalindrome = func(left, right int) {
for left >= 0 && right < n && s[left] == s[right] {
left--
right++
}
if len(s[left+1:right]) > len(res) {
res = s[left+1 : right]
}
}
for i := 0; i < n; i++ {
checkPalindrome(i, i)
checkPalindrome(i, i+1)
}
return res
}
最后更新于