回文算法

如果给定的字符串是回文,返回true,反之,返回false

palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样

注意:您需要删除字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是不是回文

function palindrome(str){
    
    var flag; 
    var newstr = str.replace(/[^a-zA-Z0-9]/gi,'');  // ^表示非,整个正则表示非字母非数字
    newstr = newstr.toLowerCase();      // toLowerCase,转换为小写,不改变原字符串
    var arr = newstr.split('');   //split()把整个字符串作为arr[0],split('')每个字符作为一个元素
    arr.reverse();    //数组反转,影响原数组
    var revstr = arr.join('');  //若arr=['a','b','c'],join()--'a,b,c',join('')--'abc'
    if(revstr == newstr){
        flag = true;
    }else{
        flag = false;
    }
    return flag;
}



palindrome("A man, a plan, a canal. Panama");

 

你可能感兴趣的:(算法练习)