题目描述
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
示例1:
输入: "babad"
输出: "bab"
注意: "aba" 也是一个有效答案。
示例2:
输入: "cbbd"
输出: "bb"
思路
这里用暴力法选出所有子字符串可能的开始和结束位置,一一检验它是不是回文。
代码
class Solution {
public String longestPalindrome(String s) {
if(s.length() <= 1)
return s;
for(int i = s.length();i > 0; i--)
{
for (int j = 0; j <= s.length() - i; j++)
{
String sub = s.substring(j , i + j);
int count = 0;
for (int k = 0; k < sub.length() / 2; k++)
{
if (sub.charAt(k) == sub.charAt(sub.length() - k - 1))
count++;
}
if (count == sub.length() / 2)
return sub;
}
}
return "";
}
}