package com.daily.daily20210203;
/**
* @Project: dailyCode
* @Site: http://www.zhao1iang.club/
* @Copyright: ©CodeLamp
* @Author: zhaoliang
* @Create: 2021-02-03 16:06
* @Desc: 最长回文子串
**/
public class longestPalindrome {
//给你一个字符串 s,找到 s 中最长的回文子串。
private int index,len;
public String longestPalindrome(String s){
if (s.length() <2)return s;
for (int i = 0; i <s.length() ; i++) {
helper(s,i,i);
helper(s,i,i+1);
}
return s.substring(index,index+len);
}
private void helper(String s, int l, int r) {
while(l >=0 && r < s.length() && s.charAt(l) == s.charAt(r)){
l--;
r++;
}
if (len < r - l -1){
index = l +1;
len = r - l-1;
}
}
}
日常刷题-最长回文子串
最新推荐文章于 2024-09-25 11:06:23 发布