1. 程式人生 > >javaScript迴文演算法挑戰

javaScript迴文演算法挑戰

如果給定的字串是迴文,返回true,反之,返回false

palindrome(迴文)是指一個字串忽略標點符號、大小寫和空格,正著讀和反著讀一模一樣

注意:您需要刪除字串多餘的標點符號和空格,然後把字串轉化成小寫來驗證此字串是不是迴文。

function palindrome(str) {
//去掉字串多餘的標點符號和空格
str = str.replace(/[\ |\~|`|\!|\@|\#|\$|\%|\^|\&|\*||||\-|\_|\+|\=|\||\||||\{|\(|\)|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g,"");
//把字元全部變為小寫
var lower_str = str.toLowerCase();
//變為字串陣列
var arr = lower_str.split("");
//獲得字元翻轉後的字串陣列
var reverse_arr = arr.reverse();
//在JavaScript中,兩個陣列是無法進行比較的,而兩個字串可以進行比較。所以,我們將反轉後的陣列再次轉換成字串
var reverse_str = reverse_arr.join("");
//判斷兩個字串是否相等
if(lower_str == reverse_str){
    return true;
}
return false;
}