整数反转(C++)

108 阅读1分钟

整数反转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

 

示例 1:

输入: x = 123
输出: 321

示例 2:

输入: x = -123
输出: -321

示例 3:

输入: x = 120
输出: 21

示例 4:

输入: x = 0
输出: 0

 

提示:

  • -231 <= x <= 231 - 1

我的代码:

// 这个题有点特别 就是一个算是考验语法的题目吧
// 对于这个 res 在就算过程中很可能 是会爆int的
// 如果爆int了那么就是return 0

class Solution {
public:
    int reverse(int x) {
        long long int res = 0;
        while(x != 0)
        {
            res = res * 10 + x % 10;
            x /= 10;
        }
        return (int) res == res ? (int)res : 0;
        // 所以这里搞一个格式转换来测试下 结果有没有爆int
    }
};