判断一个字符串是否有回文子串用java代码实现
时间: 2024-05-12 13:16:46 浏览: 81
判断一个字符串是否回文
4星 · 用户满意度95%
可以使用中心扩展算法来实现,代码如下:
```
public boolean isPalindrome(String s) {
int n = s.length();
for (int i = 0; i < 2 * n - 1; i++) {
int left = i / 2;
int right = left + i % 2;
while (left >= 0 && right < n && s.charAt(left) == s.charAt(right)) {
left--;
right++;
}
if (right - left == i % 2 + 1) {
return true;
}
}
return false;
}
```
这个算法首先遍历所有可能的回文子串中心点,然后从中心点向两边扩展,同时判断左右两边的字符是否相等。如果相等,则继续扩展;否则就是无法得到回文子串了。如果最终扩展的长度等于回文子串长度,则表示找到了一个回文子串。
阅读全文