7. Reverse Integer

来源:互联网 发布:js define是什么意思 编辑:程序博客网 时间:2024/05/16 05:50

题目链接7. Reverse Integer

思考过程:
这题比较简单,立刻能想到的解法也比较多,难点在于判断溢出,我所使用的方法是在发现整数长度将要达到可能出现溢出的时候进行特殊处理。

细节思考:
x=0要考虑,将x转成正数计算的时候,要考虑的是INT_MIN转成正数会溢出。

参考代码:

int reverse(int x) {    if (x == INT_MIN || !x)        return 0;    int flag = 1;    int remain = 7;    if (x < 0){        x = -x;        flag = -1;        remain = 8;    }    int ans = 0;    int len = 0;    while (x > 0){        //判断溢出        if (len == 9){            if (ans > 214748364)                return 0;            if (ans == 214748364 && (x % 10) > remain)                return 0;        }        ans *= 10;        ans += x % 10;        x /= 10;        len++;    }    return ans * flag;}
0 0
原创粉丝点击