天天看點

題目7、整數反轉(Leetcode題解-java實作)

1、題目

給出一個 32 位的有符号整數,你需要将這個整數中每位上的數字進行反轉。

題目7、整數反轉(Leetcode題解-java實作)

2、代碼實作

class Solution {
   public int reverse(int x) {
       //這裡之是以取long類型,是因為Leetcode有輸入值1534236469,
       //轉化後是9646324351,直接傳回會超出int類型的取值範圍,需要強制轉換int類型
        long n = 0;
        while(x != 0) {
            //依次取個位數十位數...(通過對10求餘得到),并逐漸加到n上(通過*10進位)
            n = n*10 + x%10;
            x = x/10;
        }
        //強制轉換int類型,
        //如果強制轉換後,越界(亦是轉換前後數值不相等),那麼根據題意傳回0即可(注意這個條件)
        return (int)n==n? (int)n:0;
    }
}
           

3、實作截圖

題目7、整數反轉(Leetcode題解-java實作)