最大回文子串
2017-08-27 15:54
260 查看
package chengxu;
public class wodezuidahuiwen {
public static void main(String[] args) {
String s="babcbabcbaccba";
String result=findmaxhuiwen(s);
System.out.println(result);
}
private static String findmaxhuiwen(String s) {
int start=0;
int len=s.length();
int changdu=0;
//若字符串长度为单数
for(int i=0;i<s.length();i++){
int pre=i-1;int end=i+1;
while(pre>0&&end<len&&s.charAt(pre)==s.charAt(end)){
if(end-pre+1>changdu){
changdu=end-pre+1;
start=pre;
}
pre--;
end++;
}
}
//若字符串长度为偶数
for(int j=0;j<s.length();j++){
int pre=j;int end=j+1;
while(pre>0&&end<len&&s.charAt(pre)==s.charAt(end)){
if(end-pre+1>changdu){
changdu=end-pre+1;
start=pre;
}
pre--;
end++;
}
}
if(changdu>0)
return s.substring(start,changdu+1);
return null;
}
}
public class wodezuidahuiwen {
public static void main(String[] args) {
String s="babcbabcbaccba";
String result=findmaxhuiwen(s);
System.out.println(result);
}
private static String findmaxhuiwen(String s) {
int start=0;
int len=s.length();
int changdu=0;
//若字符串长度为单数
for(int i=0;i<s.length();i++){
int pre=i-1;int end=i+1;
while(pre>0&&end<len&&s.charAt(pre)==s.charAt(end)){
if(end-pre+1>changdu){
changdu=end-pre+1;
start=pre;
}
pre--;
end++;
}
}
//若字符串长度为偶数
for(int j=0;j<s.length();j++){
int pre=j;int end=j+1;
while(pre>0&&end<len&&s.charAt(pre)==s.charAt(end)){
if(end-pre+1>changdu){
changdu=end-pre+1;
start=pre;
}
pre--;
end++;
}
}
if(changdu>0)
return s.substring(start,changdu+1);
return null;
}
}
相关文章推荐
- Palindrome---poj3974(最大回文子串manacher)
- 九度题目:最大回文子串(1252)
- 数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和
- USACO 1.3.4 Calf Flac(最大回文子串)
- 最大回文子串
- Mancher求最大回文子串 Hdu 3068
- 面试题5:求字符串中回文子串的最大长度
- 字符串的最大回文子串判断
- 数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- ] 找工作知识储备(2)---数组字符串那些经典算法:最大子序列和,最长递增子序列,最长公共子串,最长公共子序列,字符串编辑距离,最长不重复子串,最长回文子串
- 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和
- 求取一个字符串的最大回文子串
- Leetcode005--字符串中最大的回文子串
- 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和
- java版最大回文子串的长度(效率优化版)
- 求最大回文子串(马拉车算法)
- 最长公共子串、最长公共子序列、最长回文子串、模式匹配、最大子序列--字符串问题整理
- Manacher算法。最大回文子串。
- hdu3613 Best Reward 扩展kmp or O(n)求最大回文子串