您的位置:首页 > 其它

Reverse Integer - LeetCode

2015-05-07 09:16 405 查看
123 -> 321

-1234 -> -4321

思路:

记录符号

正负数一样对待

记录后面的数字,计入结果, 乘以10,继续累加后面的数字 rolling

因为乘以10所以会越界,注意越界的判断!

时间复杂度:

O(位数)

Code (C++):

class Solution {
public:
int reverse(int x) {
int sign = x>0?1:-1;
x = abs(x);
int res = 0;
while(x>0)
{
if(INT_MAX/10 < res || (res == INT_MAX/10 && INT_MAX%10 < x%10)) return 0;
res = res*10+x%10;
x = x/10;
}
return res*sign;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: