主要是简单记忆一下这几个简单函数,以后多用
isalpha就是判断是否为字母,包括大小写,返回bool值
isdigit就是判断是否为十进制数字,返回bool值
isalnum就是判断是否为字母或十进制数字,包括字母大小写,返回bool值
isupper是判断是否为字母大写,返回bool值
islower就是判断是否为字母小写,返回bool值
toupper就是把小写字母转换为大写字母,如果参数不是小写字母就不转换
tolower就是把大写字符转换为小写字母,如果参数不是大写字母就不转换
可以拿力扣 125.验证回文串来参考使用
class Solution {
public:
//主要是学习了一些简单的c++库函数 isalnum toupper等
//该题为双指针算法 要注意这个逻辑
//题意只考虑字母和数字字符,忽略大小写
bool isPalindrome(string s) {
for(int i=0,j=s.size()-1;i<j;i++,j--)
{
while(i<j&&!isalnum(s[i])) i++; //这步是跳出非法字符
while(i<j&&!isalnum(s[j])) j--; //同样跳出非法字符
if(i<j&&toupper(s[i])!=toupper(s[j])) return false;
}
return true;
}
};