需求
给出一个字符串,检测是否是回文,是则返回true,不是则返回false(忽略标点符号,大小写,空格)
palindrome("A man, a plan, a canal. Panama") should return true.
palindrome("five|\_/|four")
思路1
返回一个忽略标点,空格,小写的新字符串
for-if 来检测前后索引字符是否相等
function palindrome(str) {
str = str.replace(/[\W_]/g,"").toLowerCase();
for(var i = 0,len = str.length -1 ; i < str.length/2; i++) {
if(str[i] !== str[len-i]) {
return false;
}
}
return true;
}
palindrome("almostomla");
palindrome("five|\_/|four");
palindrome("_eye");
//0.1279296875ms
思路2
得到新的反转字符串,忽略标点符号,空格,大小写
比较新旧字符串
function palindrome(str) {
return str.replace(/[\W_]/g,'