LeetCode

来源:互联网 发布:保险公司业务数据分析 编辑:程序博客网 时间:2024/06/06 14:21

题意

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

click to show spoilers.

Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.

Subscribe to see which companies asked this question

解法

注意溢出问题

实现

class Solution {public:    int reverse(int x) {        long long y = x;        if(x < 0) y = y * -1;//注意用long long类型代替int        long long reverse = 0;        long long max = 2147483647;        while(y != 0){            reverse = reverse * 10 + y % 10;            if((x > 0 && reverse > max) || (x < 0 && reverse > max + 1)) return 0;            y = y / 10;        }        if(x < 0) reverse = reverse * -1;        return reverse;    }};
0 0
原创粉丝点击