palindrome(迴文)算法

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

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

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

代碼實現如下:
function palindrome(str) {
var arr='';//定義一個空字符串,用來接收新字符串
var newstr = str.replace(/[^0-9a-z]/gi, "");//將給定的字符串去除標點符號和空格
newstr = newstr.toLowerCase();//將字符串轉換成小寫
for (let i = newstr.length - 1; i >= 0; i--) {
// arr += newstr.charAt(i);
arr += newstr[i];//字符串取反
}
for (let i = arr.length - 1; i >= 0; i--) {
if(arr[i] !== newstr[i]){ //取反後的字符串跟原字符串比較
return false;
}
}
return true;
}

palindrome("eye");

代碼還可以簡化,大家可以提供更簡潔的代碼哦~


分享到:


相關文章: