leetcode 7. 整数反转

题目传送门

链接:https://leetcode-cn.com/problems/reverse-integer/

题干

leetcode 7. 整数反转
leetcode 7. 整数反转

题解

我的方法是首先记录数字的正负,再把数字取绝对值

按位将数字翻转,并且每次都判断数字是否大于 INT_MAX / 10,如果大于说明会溢出,此时返回0即可

Code

class Solution {
public:
    int reverse(int x) {
        int f = 0;
        if (x < 0) f = -1;
        else if (x > 0) f = 1;
        x = abs(x);

        int res = 0;
        while (x > 0) {
            if (res > INT_MAX / 10)
                return 0;
            res *= 10;
            res += x % 10;
            x /= 10;
        }
        return f * res;
    }
};
上一篇:PreparedStatement 的用法 | 学习笔记


下一篇:LuoguB2028 反向输出一个三位数 题解