题目描述:

解题思路:
1:首先忽略大小写,使用String的toLowerCase();
2:提供方法判断的字符在0-9和a-z之间
3:定义两个下标,left=0,right=str.length-1
4:当left<right的时候一直循环,当前字符如果不满足要求(不在0-9或者a-z),则left++或者right–
5:当字符满足要求且相等left++,right–
代码:
public static boolean func(char ch){
if(ch>='0' && ch<='9' || ch>='a' && ch<='z'){
return true;
}
return false;
}
public static boolean isFun(String str){
if(str==null || " ".equals(str)){
return true;
}
str=str.toLowerCase();
int left=0;
int right=str.length()-1;
while (left<right){
while (left<right && !func(str.charAt(left))){
left++;
}
while (left<right && !func(str.charAt(right))){
right--;
}
if(str.charAt(right)!=str.charAt(left)){
return false;
}
left++;
right--;
}
return true;
}
该博客主要探讨了字符串处理的方法,包括忽略大小写的转换和特定字符的判断。通过示例代码展示了如何使用Java实现双指针技巧检查字符串中连续相等的字符。此外,还涉及到了算法设计和编程实践的相关知识。
290

被折叠的 条评论
为什么被折叠?



