package main func longestPalindrome(s string) string { n := len(s) if n < 2 { return s } maxBeg, maxEnd := 0, -1 // 暴力穷举 for beg := 0; beg < n; beg++ { for end := beg; end < n; end++ { i := 0 for ; end-beg > maxEnd-maxBeg && i <= end-beg; i++ { if s[beg+i] != s[end-i] { break } } if i == end-beg+1 { maxBeg = beg maxEnd = end } } } return s[maxBeg : maxEnd+1] } /* func main() { fmt.Println(longestPalindrome("ASDFDSAASBUGAYFUYFSDG")) fmt.Println(longestPalindrome("A")) fmt.Println(longestPalindrome("")) fmt.Println(longestPalindrome("gigiudhfafhsaoifhoifaochasiofueosanfklf")) } */