7. Reverse Integer(easy)

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output: 321
Example 2:

Input: -123
Output: -321
Example 3:

Input: 120
Output: 21

分析:

先用double存储反转之后的结果就可以避免越界问题,转完之后再判断溢出。

C++:
class Solution {
public:
    int reverse(int x) {
        double res = 0;
        while (x != 0) {
            res = res * 10 + x % 10;
            x /= 10;
        }
        if (res > pow(2, 31) - 1 || res < -pow(2, 31)) {
            return 0;
        }
        return (int) res;
    }
};
Java:
public int reverse(int x) {
        double res = 0;
        while (x != 0) {
            res = res * 10 + x % 10;
            x /= 10;
        }
        if (res < Integer.MIN_VALUE || res > Integer.MAX_VALUE) {
            return 0;
        }
        return (int) res;
    }

你可能感兴趣的:(7. Reverse Integer(easy))