1. 程式人生 > >lintcode,反轉整數

lintcode,反轉整數

將一個整數中的數字進行顛倒,當顛倒後的整數溢位時,返回 0 (標記為 32 位整數)。
給定 x = 123,返回 321
給定 x = -123,返回 -321

解題思路:有個技巧,在反轉每一位的時候判斷一下有沒有越界。這裡整數反轉可以不判斷是否為正負,因為每次都模擬翻轉的過程,即取餘加到上次結果左移一位,同時紀錄左移一位之前的結果,判斷是否移動一位之後越界溢位了。
一刷ac
二刷ac

public class Solution {
    /**
     * @param n the integer to be reversed
     * @return the reversed integer
     */
public int reverseInteger(int n) { int res = 0; while(n != 0){ int val = n % 10; int tmp = res; res = tmp * 10 + val; n = n / 10; if(res / 10 != tmp) return 0; } return res; } }