123456789101112131415161718192021222324252627282930313233343536 |
- package main
- import (
- "fmt"
- )
- 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"))
- }
|