1. 程式人生 > >ReverseInteger 給出一個整數,反轉這個整數

ReverseInteger 給出一個整數,反轉這個整數

package leetcode151withexplain;

/**
 * 本題題意:給出一個整數,反轉這個整數
 *
 *  Example1: x = 123, return 321
 Example2: x = -123, return -321
 *
 *  解題思路:通過取餘數就能知道最後的數字是什麼,然後依次乘以10加剛獲取的末尾元素。然後別忘了最後情況的處理。
 *
 */
public class ReverseInteger145 {
 
    public int reverse(int x) {
     //如果介於0-10之間或者0--10之間  單位數 直接返回
        if(x > 0 && (x/10) < 1){
            return x;
        }else if(x < 0 && (x/10) > -1){
         return x;
        }
       
        //處理整數比較方便   所以用y來儲存
        int y = 0;
        if(x > 0){
         y = x;
        }else{
         y = -x;
        }
       
        //獲取最後一位  然後依次加上
        int result = 0;
        while(y / 10 >= 1){
            int lastNum = y % 10;
            result = result*10 + lastNum;
            y = y/10;
        }
       
        //別忘了最後剩餘資料的處理
        result = result*10 + y;
       
        if(x > 0){
            return result;
        }else{
            return 0-result;
        }
    }
}