判斷一個數字是不是回訪字數,不要使用額外的空間。spa
爲了避免使用額外的空間,參考了其它的解決,那些解法看起來在isPalindrome方法中沒有使用額外參數,可是卻使用了方法調用,這個比一個整數消耗的空間更多 ,並無達到題目的要求,是假的實現,因此本題依然採用一個額外的空間進行實現。
首先,負數不是迴文數字,其次對數字進行逆轉,123變成321這樣,若是變換後的數字相等說明是迴文數字。code
public class Solution { public boolean isPalindrome(int x) { // 負數不是回訪數字 if (x < 0) { return false; } // 數字逆轉後的值,爲了避免使用溢出採用long long reverse = 0; int tmp = x; // 求逆轉後的值 while (tmp != 0) { reverse = reverse * 10 + tmp % 10; tmp /= 10; } // 判斷是不是迴文數字 return x == reverse; } }