public class Mask {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(getMask("12341234abcdefgfedbca22"));
}
public static boolean isMask(String str){
char[] a=str.toCharArray();
boolean tag=true;
for(int k=0;k<a.length/2;k++){
if(a[k]!=a[a.length-k-1]){
tag=false;
break;
}
}
return tag;
}
public static String getMask(String str){
char[] a=str.toCharArray();
for(int i=a.length;i>1;i--){
for(int s=0;s<=a.length-i;s++){
String res=str.substring(s, s+i);
if(isMask(res)){
return res;
}
}
}
return null;
}
}
结果是:defgfed
分享到:
相关推荐
字符串处理在很多实际应用中都有所涉及,如模式匹配、最长回文子串、KMP算法等。掌握字符串操作和相关的算法能够帮助解决很多实际问题。 七、位运算 位运算在优化算法和节省空间方面有重要作用,比如在解决数组中的...
在这部分代码中,需要编写一个函数判断给定的字符串是否为回文。这涉及到对字符串的正反遍历和字符比较。 8. 数组比较 题目要求比较两个数组,并返回第一个不相等的元素个数。这就需要理解数组索引从后往前遍历的...
2. 求最长回文子串: 可以使用动态规划或Manacher's Algorithm,前者通过建立二维状态表,记录每个子串是否为回文,后者利用对称性质加速计算,两者都能在线性时间复杂度内解决。 3. 数轴上的绳子覆盖问题: 这是...
最长回文字串是指一个字符串中最长的回文子串。 算法思想: 1. 将字符串转换为数组。 2. 遍历数组,使用动态规划算法来计算最长回文字串的长度。 3. 返回最长回文字串。 3. 数轴上有n个点a[0]、a[1]……a[n-1],...
- **Manacher's Algorithm**:优化的字符串匹配算法,用于找出字符串中的最长回文子串。 - **Rabin-Karp算法**:哈希函数为基础的字符串匹配算法,具有较高的效率。 6. **数学知识**: - **概率论**:在随机算法...
字符串相加2进制相关习题,学习并查集数据结构 Leetcode 类型 难度 完成时间 简单 7/10 简单 7/11 简单 7/11 简单 7/11 简单 第8章:递归和回溯法 ★ 递归和回溯 中等 7/15 93 ip地址 递归和回溯 131 子串 回文串
字符串相加2进制相关习题,学习并查集数据结构 Leetcode 类型 难度 完成时间 简单 7/10 简单 7/11 简单 7/11 简单 7/11 简单 第8章:递归和回溯法 ★ 递归和回溯 中等 7/15 93 ip地址 递归和回溯 131 子串 回文串