Golang-find the longest palindrome

func longestPalindrome(s string) string {
    maxLen := len(s)

    for l := maxLen; l > 0; l-- {
        for i := 0; i + l <= maxLen; i++ {
            lp, rp := i, i + l -1

            for lp < rp && s[lp] == s[rp] {
                lp++
                rp--
            }

            if lp >= rp {
                return s[i:i+l]
            }
        }
    }

    return s[0:1]
}

文章

Leave a comment