题解 | #删除有序链表中重复的元素-II#

反转数字

http://www.nowcoder.com/practice/1a3de8b83d12437aa05694b90e02f47a

**模拟题**
关键点在于溢出的处理
```cpp
class Solution {
public:
    /**
     * 
     * @param x int整型 
     * @return int整型
     */
    int reverse(int x) {
        // write code here
        int sign = 1, val = 0;
        if(x < 0) sign = -1, x = -x;
        while(x > 0){
            int res = x % 10;
            x /= 10;
            if(sign == 1){
                if(val > INT_MAX / 10 || (val == INT_MAX / 10 && INT_MAX % 10 < res)) return 0; //正溢出
            }else{
                if(val > INT_MAX / 10 || (val == INT_MAX / 10 && INT_MAX % 10 + 1 < res)) return 0; //负溢出
            }
            val = val * 10 + res;
        }
        return sign * val;
    }
};
```
全部评论

相关推荐

04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
完美的潜伏者许愿简历通过:我上表jd,请求封我做后端大将军的事,北京有消息了:竟然不许!!! 他们一定是看我没有实习,这才故意驳回我的请求!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务