JavaScript回文算法挑戰

如果給定的字符串是回文,返回true,反之,返回false。
palindrome(回文)是指一個字符串忽略標點符號、大小寫和空格,正著讀和反著讀一模一樣。
注意:您需要刪除字符串多余的標點符號和空格,然后把字符串轉化成小寫來驗證此字符串是不是回文。
函數參數的值可以為"racecar","RaceCar"和"race CAR"。

~JavaScript code~

//檢測字符串是不是回文
function palindrome(str) {
// Good luck!
var result=cleanStr(str).toLowerCase();
  console.log(result);
  console.log(reverseStr(result));
  return result===reverseStr(result);
}

//翻轉字符串
function reverseStr(str)
{
  return str.split('').reverse().join('');
}

//英文字符串去掉所有標點符號和空格
function cleanStr(str){
  // 過濾掉字符串中的所有空格、下劃線
  var result = str.replace(/\s+/g,'').replace(/\_+/g,'').match(/\w/g).join('');
  // 過濾掉所有的標點符號, \w是匹配一個單字字符(字母,數字和下劃線)
  // \W是匹配一個非單字字符, 當然包括標點符號了
  return result;
}


palindrome("eye");

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容