申明:本文只用做自己学习记录
题目
给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:
输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。
示例 2:
输入:s = “cbbd”
输出:“bb”
示例 3:
输入:s = “a”
输出:“a”
示例 4:
输入:s = “ac”
输出:“a”
代码
//方法1:动态规划
func longestPalindrome(s string) string {
//字符串总长度
n := len(s)
//结果字符串
result := ""
//创建二维切片,建立表格,行表示左边界,列表示右边界
//j(行)表示字符串左边界,i+j(列)表示字符串的右边界
//因为j<=i+j,所以表格右上方才有用
dp := make([][]int, n)
for i := 0; i < n; i++ {
dp[i] = make([]int, n)
}
//遍历循环,每一个字符串,都往后遍历一次
for i := 0


449

被折叠的 条评论
为什么被折叠?



