/*
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,
"A man, a plan, a canal: Panama" is a palindrome.
"race a car" is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
给出一字符串,判断它是否回文。只认字母,以及忽略大小写。
*/
var isAlphaNum = function(s){
return /[a-z0-9]/i.test(s);
};
var isPalindrome = function(s){
var trimS = s.trim();
if(trimS === ''){
return true;
}
var left = 0;
var right = trimS.length - 1;
while(left < right){
if(!isAlphaNum(trimS[left])){
left++;
}
else if(!isAlphaNum(trimS[right])){
right--;
}
else if(trimS[left].toUpperCase() !== trimS[right].toUpperCase()){
return false;
}
else{
left++;
right--;
}
}
return true;
};
console.log(
isPalindrome('A man, a plan, a canal: Panama')
);
3.1 Valid Palindrome
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 《金文诚〈孟子〉学习笔记225,7-1-3,离娄章句1-3》 【"《诗》云:‘不愆不忘,率由旧章。’遵先王之法而过...