關于 判斷整數是不是是回文數
幾種解法:1是將整數轉化為字符情勢,但需要額外空間;2是將數字逆轉得到另外一個數,判斷是不是與原數相等,但有可能溢出;
符合要求的方法是從數的兩端向中間推動判斷;如相等則棄掉首尾數字;
bool isPalindrome(int x) {
if (x < 0) return false;
int div = 1;
while (x / div >= 10) {
div *= 10; } //算數的量級
while (x != 0) {
int l = x / div; //取首數字
int r = x % 10; //取尾數字
if (l != r) return false;
x = (x % div) / 10; //去除首尾
div /= 100;
}
return true;
}
上一篇 詳解equals和==的區別
下一篇 網站編輯器安全隱患不可小視