Published Oct 11, 2021
[
 
]
Given a string s, return the longest palindromic substring in s.
Input: s = "babad"
Output: "bab"
Note: "aba" is also a valid answer.
Input: s = "cbbd"
Output: "bb"
Input: s = "a"
Output: "a"
Input: s = "ac"
Output: "a"
1 <= s.length <= 1000
s
consist of only digits and English letters.function longestPalindrome(s: string): string {
let res = ""
let resLen = 0
for(let i = 0; i < s.length; i++) {
// odd palindrome case
let l = i, r = i
while (l >= 0 && r < s.length && s[l] === s[r]) {
if(r - l + 1 > resLen) {
res = s.substring(l, r + 1)
resLen = r - l + 1
}
l -= 1
r += 1
}
// even case
l = i, r = i + 1
while (l >= 0 && r < s.length && s[l] === s[r]) {
if(r - l + 1 > resLen) {
res = s.substring(l, r + 1)
resLen = r - l + 1
}
l -= 1
r += 1
}
}
return res
};