给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: “A man, a plan, a canal: Panama”
输出: true
示例 2:
输入: “race a car”
输出: false
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-palindrome
class Solution {
public:
bool isPalindrome(string s) {
int i=0,j=s.size()-1;
while(i<=j){
if(!isalnum(s[i])) {i++;continue;}
if(!isalnum(s[j])) {j–;continue;}
if(tolower(s[i])!=tolower(s[j])){
return false;
}
i++;j–;
}
return true;
}
};
isalnum():判断字符变量c是否为字母或数字,若是则返回非零,否则返回零。
tolower():是一种函数,功能是把字母字符转换成小写,非字母字符不做出处理