判斷乙個整數是否是回文數。回文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。
示例 1:
輸入: 121
輸出: true
示例 2:
輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是乙個回文數。
示例 3:
輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是乙個回文數
解法一 字串反轉法
負數肯定不是回文數,我們只需要將給定的數轉換為字串然後進行反轉對比即可。
/**
* @param x
* @return
*/var
ispalindrome
=function
(x)else
if(string.prototype.split.
call
(x,'').
reverse()
.join(''
)!= x)
return
true
;}
解法二 雙指標夾逼法
將數字轉換為字串,然後在首位布置兩個指標,迴圈判斷,夾逼即可。
/**
* @param x
* @return
*/var
ispalindrome
=function
(x)}
return
true
;}
解法三 數學解法
使用除法和求餘獲得對應位置的數字。
每次比較首位和末位即可xn
x / n
x % n
123521
10000011
2352
100022
351035
/**
* @param x
* @return
*/var
ispalindrome
=function
(x)return
true;}
;
9 數字的位操作 回文數
class solution int revertednumber 0 while x revertednumber 當數字長度為奇數時,我們可以通過 revertednumber 10 去除處於中位的數字。例如,當輸入為 12321 時,在 while 迴圈的末尾我們可以得到 x 12,rever...
演算法 回文數
題目描述判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。示例 1 輸入 121 輸出 true 示例 2 輸入 121 輸出 false 解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10 輸出 false 解釋 ...
基礎練習 回文數
基礎練習 回文數 間限制 1.0s 記憶體限制 512.0mb 問題描述 1221是乙個非常特殊的數,它從左邊讀和從右邊讀是一樣的,程式設計求所有這樣的四位十進位制數。輸出格式 按從小到大的順序輸出滿足條件的四位十進位制數。思路1 判斷條件也很清楚,從左讀的書就是數本身,關鍵看如何得到從右開始讀的數...