记录艰难的求职刷题之旅
day 2:整体思路还是比较简单的,利用如下函数,然后利用双指针,遇到非字母跳过,遇到字母都转换为大写or小写字母进行比较问题得以解决;ps:我是转换为小写字母
isalpha :判断一个字符是否为字母,如果是则返回true,否则返回false;
isdigit : 判断一个字符是否表示数字,如果是则返回true,否则返回false;
isalnum : 判断一个字符是否表示数字或者字母,如果是则返回true,否则返回false;
islower : 判断一个字符是否为小写字母,如果是则返回true,否则返回false;
isupper : 判断一个字符是否为大写字母,如果是则返回true,否则返回false;
tolower : 若字符为字母则转化为小写字母;
toupper : 若字符为字母则转化为大写字母
class Solution {
public:
bool isPalindrome(string s)
{
int left=0;
int right=s.size()-1;
while(left<right)
{
if(!isalnum(s[left]))
{
left++;
}
else if(!isalnum(s[right]))
{
right--;
}
else{
if(tolower(s[left])==tolower(s[right]))
{
left++;
right--;
}
else
{
return false;
}
}
}
return true;
}
};