题解 | #密码截取#最长回文子串

密码截取

https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main()  {
	input := bufio.NewScanner(os.Stdin)
	input.Scan()
	s := input.Text()
	l,r := 0,0
	for i:=0;i<len(s);i++{
		start, end := huiwen(s, i, i)
		if end-start>r-l{
			l = start
			r = end
		}
		start, end = huiwen(s, i, i+1)
		if end-start>r-l{
			l = start
			r = end
		}
	}
	fmt.Println(r-l+1)
}

func huiwen (s string, i,j int) (int, int) {
	for i>=0 && j<len(s) && s[i]==s[j]{
		i--
		j++
	}
	return i+1,j-1
}

全部评论

相关推荐

AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务