您的位置:首页 > 其它

Reverse Integer

2015-10-03 07:42 239 查看

题目:Reverse digits of an integer.

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

思路:迭代计算,保存末尾值。注意一开始的负号

第一个需要注意的就是判断最大值最小值,尤其是最小值,这一点在后面的求解除法中非常明显。

代码:

class Solution {
public:<span class="comment" style="margin: 0px; padding: 0px; border: none; color: rgb(0, 130, 0); font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px; background-color: rgb(248, 248, 248);">//for more information,please email:j.z.feng@foxmail.com</span><span style="margin: 0px; padding: 0px; border: none; font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px; background-color: rgb(248, 248, 248);"> </span>
//https://leetcode.com/problems/reverse-integer/
int reverse(int x) {
if(x<0){
return x==INT_MIN ? 0 : -reverse(-x);
}
int y,result=0;
//x=32767
if(x==0){
return 0;
}
while(x>0){
if(result>INT_MAX/10){
return 0;
}
if(result==INT_MAX/10 && (x%10)>7){
return 0;
}
result=result*10+(x%10);
x=x/10;
}
return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: