迴文演算法
阿新 • • 發佈:2018-11-16
function cleanStr(str){ // 過濾掉字串中的所有空格、下劃線 var result = str.replace(/\s+/g,'').replace(/\_+/g,'').match(/\w/g).join(''); // 過濾掉所有的標點符號, \w是匹配一個單字字元(字母,數字和下劃線) // \W是匹配一個非單字字元, 當然包括標點符號了 return result; }
如果給定的字串是迴文,返回true
,反之,返回false
。
palindrome(迴文)是指一個字串忽略標點符號、大小寫和空格,正著讀和反著讀一模一樣。
注意:您需要刪除字串多餘的標點符號和空格,然後把字串轉化成小寫來驗證此字串是不是迴文。
函式引數的值可以為"racecar"
,"RaceCar"
和"race CAR"
。
function palindrome(str) { // Good luck! str = str.replace(/\s+/g,'').replace(/\_+/g,'').match(/\w/g).join(''); str = str.toLowerCase(); var str1 = []; var str2 = []; for(var i = 0;i<str.length;i++){ str1.push(str[i]); } for(var j = 1;j<=str.length;j++){ str2.push(str[str.length-j]); } for(var k = 0;k<=str1.length;k++){ if(str1[k]!=str2[k]){ return false; } } return true; } palindrome("1 eye for of 1 eye.");