LeetCode第18天🐱‍🏍

168 阅读1分钟

5. 最长回文子串

var longestPalindrome = function(s) {
    if (s.length < 2) return s   // 长度小于2直接返回s
    let l = 0, r = 0
    for (let i = 0; i < s.length; i++) {
        palindrome(i, i)
        palindrome(i, i+1)
    }

    function palindrome(n, m) {
        while (n >= 0 && m < s.length && s[n] === s[m]) {  // 左边界右边界
            n--
            m++
        }
        if (m - n > r - l) {
            r = m
            l = n
        }
    }

    return s.slice(l+1, r)
}