回文
今天偶然间碰到这么一个问题,黑人问号脸(明明之前都知道的,现在都忘干净了~)太可怕了。
看到这个题目就很熟悉不过了~
在这里就单纯的记录一下吧!
检查回文字符串
如果给定的字符串是回文,返回true,反之,返回false。
如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。
注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。
函数参数的值可以为"racecar","RaceCar"和"race CAR"。
function palindrome(str) {
// 请把你的代码写在这里
//利用正则将标点、特殊字符、空格等去除掉
var newStr = str.replace(/[\ |\~|`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\|\/|\?]/g,"");
//将字符串转换成小写字母
var lowerStr = newStr.toLowerCase();
//将字符串分割成数组
var arr = lowerStr.split("");
//对数组里面的内容进行反转
var arrRever = arr.reverse();
//将数组拼接成字符串
var joinStr = arrRever.join("");
//比较反转后拼接的字符串与原来转换成小写后的字符串是否相等(相等返回true不相等则返回false)
if(lowerStr == joinStr){
return true;
}else{
return false;
}
}
palindrome("A man, a plan, a canal. Panama"); //false
这些都是很早以前就会的东西,随着时间的流逝外加上没有用过,所以根本都想不起来了。。。。。。。。。。。。。。。是不是都会~~~~~~~
领取专属 10元无门槛券
私享最新 技术干货