找到乙個字串最長的回文子串
我的思路1:乙個字串,我要是知道從0到i的子串的最大回文子串(一定包含第i位)的長度。我就知道了這個字串的最大回文子串的長度。
那麼怎麼知道乙個字串,包含最後一位字元的最大回文子串呢?我判斷從0開始的子串是不是回文的,不是的話從1開始的子串是不是回文的,知道乙個子串是回文的。
我還需要乙個能夠判斷乙個字串是不是回文字串的方法。
}// 找到包括最後乙個字元的最長回文子串
public string findlongest
(string str)
}return null;
}// 判斷乙個字串是不是回文串
public
boolean
judge
(string str)
i++; j--;}
return
true;}
}我的思路2:我有乙個判斷乙個字串是不是回文字串的方法。然後遍歷子串的長度。遍歷子串開始的座標。判斷這個字串是不是回文子串。如果是的話,我就返回結果。
}// 判斷乙個字串是不是回文串
public
boolean
judge
(string str)
i++; j--;}
return
true;}
}dp(i, j) = (i和j位置的字元是否相等) && (j-i<3 || dp(i+1, j-1))
解釋:dp(i,j)→起始序號為i,終止序號為j的子串,是否是回文序列。
由小規模,擴充套件到大規模。
// 返回結果
return s.
substring
(begin, end +1);}}
LeetCode5最長回文子串
給定乙個字串s,找到s中最長的回文子串。你可以假設s長度最長為1000。示例 輸入 babad 輸出 bab 注意 aba 也是有效答案示例 輸入 cbbd 輸出 bb 動態規劃來做,每個回文字串的子字串也是回文字串,即string是回文字串那麼它的string.substring 1,lenth ...
LeetCode 5 最長回文子串
問題描述 給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 解決方案 中心擴充套件演算法 事實上,只需使用恆定的空間,我們就可以在 o n 2 的時間內解決這個問題...
leetcode5 最長回文子串
遞推式 1 一般 s i 1 s j 1 and j i and j i len s i 1,j 1 2 初始化dp矩陣對角線的值為 true,相鄰兩個元素相等時dp i i 1 為true 初始化回文串起始位置和長度。def longestpalindrome s n len s if s ret...