最基础的-判断是否为回文:
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;
}
};
抽空回来补充