1234567891011121314151617181920212223242526272829303132 |
- 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"))
- } */
|