欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 回文數(shù)

張越彬1年前8瀏覽0評論

回文數(shù)(Palindrome Number)是指一個數(shù)字從左往右讀與從右往左讀都相同的數(shù),比如121、1221、555等等。在 JavaScript 中,我們可以使用各種方法來判斷一個數(shù)是否為回文數(shù)。

最常見的方法是將數(shù)字轉換為字符串,然后反轉字符串再與原字符串比較。如果兩個字符串相同,則該數(shù)是回文數(shù),否則則不是。下面是一個使用 JavaScript 實現(xiàn)的例子:

function isPalindrome(num) {
var str = num.toString();
var reverseStr = str.split('').reverse().join('');
return str === reverseStr;
}
console.log(isPalindrome(121)); // true
console.log(isPalindrome(123)); // false

上面的代碼首先將數(shù)字轉換為字符串,然后使用字符串的 split() 方法將字符串拆分為字符數(shù)組,接著使用數(shù)組的 reverse() 方法將數(shù)組反轉,最后使用 join() 方法將字符數(shù)組合并為反轉后的字符串。最后將原字符串與反轉后的字符串進行比較,如果相同就是回文數(shù)。

除了字符串反轉的方法外,我們還可以使用雙指針法(Two Pointers)來判斷一個數(shù)是否為回文數(shù)。這種方法將數(shù)字分為左半部分和右半部分,然后遍歷兩部分進行比較,如果兩部分相同,則該數(shù)是回文數(shù)。

function isPalindrome(num) {
if (num< 0) return false;
if (num< 10) return true;
var str = num.toString();
var left = 0;
var right = str.length - 1;
while (left< right) {
if (str.charAt(left) !== str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
console.log(isPalindrome(121)); // true
console.log(isPalindrome(123)); // false

上面的代碼首先進行一些基本的判斷,比如負數(shù)一定不是回文數(shù),個位數(shù)一定是回文數(shù)。接著使用字符串的 charAt() 方法獲取左右兩個位置上的字符,如果不相同則直接返回 false,否則繼續(xù)遍歷兩部分的對應字符。如果遍歷完成都沒有返回 false,則說明該數(shù)是回文數(shù)。

總的來說,在 JavaScript 中判斷一個數(shù)是否為回文數(shù)的方法有很多種,每一種方法都有自己的優(yōu)點和局限性。在實際開發(fā)中,我們要根據(jù)具體情況選擇最適合的判斷方法。