Reverse Integer

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

Note: Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

Example 1:

Input: x = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

Example 4:

Input: x = 0
Output: 0

Constraints:

  • -231 <= x <= 231 - 1

Solutions

🧠 Cpp

class Solution {
public:
    int reverse(int x)
    {
        bool is_neg = x < 0;
        std::string num = std::to_string(x);
        std::reverse(num.begin()+is_neg, num.end());

        long res = std::atol(num.c_str());
        return res > numeric_limits<int>::max() || res < numeric_limits<int>::min() ? 
               0  : res;
    }
};

Last updated