欢迎光临
我们一直在努力

关于LeetCode第7题的题解

**

关于LeetCode第7题的题解

**

class Solution {
public int reverse(int x) {
int MAX = 2147483647;
int MIN = –2147483648;
int a=0,b=0;
while (x!=0) {
a=x%10;
x/=10;
if (b>MAX/10 || (b == MAX/10 && a > 7)) {
return 0;
}
if (b<MIN/10 || (b == MIN/10 && a < –8)) {
return 0;
}
b=b*10+a;
}
return b;
}
}

本题没什么好讲的,唯一需要注意的点就是b的位置。
一定需要在先判断之后再进行计算,否则判断就失去意义了。
只有当判断成功后,才能够继续进行反转,否则就直接终止反转。
如果不先进行判断,那么当b比max小,但不是小于一位的情况下,直接就会返回0;

在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » 关于LeetCode第7题的题解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址