1. 程式人生 > >C++ Leetcode初級演算法之整數反轉

C++ Leetcode初級演算法之整數反轉

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

示例 1:

輸入: 123
輸出: 321
示例 2:

輸入: -123
輸出: -321
示例 3:

輸入: 120
輸出: 21
注意:

假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−2^31, 2^31 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。

class Solution {
public:
    int reverse(int x) {
        long long res = 0;
        while(x)
        {
            res = res * 10 + x % 10;
            x = x /10;
        }
    return (res > INT_MAX || res < INT_MIN)?0:res;
    }
};