func longestPalindrome(s string) string {
var list []rune
for _,v := range s{
list = append(list,v)
}
var res [][]int
for k,_ := range list{
startKey := k
endKey := k
for i:=0;;i++ {
if k - i >= 0 && k + i < len(list) {
if list[k - i] == list[k + i] {
startKey = k - i
endKey = k + i
continue
}
}
break
}
tmp := []int{startKey,endKey}
res = append(res,tmp)
startKey2 := k
endKey2 := k
for i:=0;;i++ {
if k - i >= 0 && k + i+1 < len(list) {
if list[k - i] == list[k + i+1] {
startKey2 = k - i
endKey2 = k + i+1
continue
}
}
break
}
tmp = []int{startKey2,endKey2}
res = append(res,tmp)
}
max := 1
var maxRes string
for _,v := range res {
if len(maxRes) == 0{
maxRes = string(list[v[0]:v[1]+1])
}
if v[1]-v[0]+1>max{
max = v[1]-v[0]+1
maxRes = string(list[v[0]:v[1]+1])
}
}
return maxRes
}
longestPalindrome
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...