最基础的-判断是否为回文:
class Solution {
public:
bool isPalindrome(string s) {
string slow = "";
for(char c : s){
if(c >= 'A' & c <= 'Z'){
slow += c - 'A' + 'a';
}else if((c >= 'a' & c <= 'z') || (c >= '0' & c <= '9')){
slow += c;
}else{}
}
if(slow.size() < 1) return true;
for(int i = 0; i < slow.size()/2; i ++){
if(slow[i] != slow[slow.size() - 1 - i]) return false;
}
return true;
}
};
class Solution {
public:
bool validPalindrome(string s) {
int left = 0, right = s.size() - 1;
while(left <= right){
if(s[left] == s[right]){
left += 1;
right -= 1;
}else{
return circleString(s, left + 1, right) || circleString(s, left, right - 1);
}
}
return true;
}
bool circleString(string s, int begin, int end){
while(begin <= end){
if(s[begin] != s[end] )return false;
begin += 1;
end -= 1;
}
return true;
}
};
抽空回来补充
本文介绍了如何在编程中实现基础的回文字符串判断功能,包括检测回文数、最长回文子串、分割回文串等,并提供了一个C++类`Solution`中的`validPalindrome`和`circleString`方法来验证和处理循环回文字符串。
1325

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



