5. Longest Palindromic Substring
Medium
Given a string
s
, return the longest palindromic substring in s
.
Example 1:
Input: s = "babad"
Output:
"bab"
Explanation:
"aba" is also a valid answer.
Example 2:
Input: s = "cbbd"
Output:
"bb"
Constraints:
1 <= s.length <= 1000
s
consist of only digits and English letters.
func longestPalindrome(s string) string {
result := ""
for i := 0; i < len(s); i++ {
odd := expandAroundCenter(s, i, i)
even := expandAroundCenter(s, i, i+1)
if len(odd) > len(result) {
result = odd
}
if len(even) > len(result) {
result = even
}
}
return result
}
func expandAroundCenter(s string, left int, right int) string {
l := left
r := right
for l >= 0 && r < len(s) && s[l] == s[r] {
l--
r++
}
return s[l+1 : r]
}