假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [?231, 231 ? 1]。请根据这个假设,
如果反转后整数溢出那么就返回 0。
int y = 0;
while (x != 0) {
//环境只能存储32位整数,当数字溢出是返回0 32位最大数字是21478364
if (y > 214748364 || y < -214748364) {
return 0;
}
y = y * 10 + x % 10;
x = x / 10;
}
return y;
LeetCode算法第7题 整数反转 Java
最新推荐文章于 2024-09-07 16:38:37 发布
该博客讨论了在32位环境中处理有符号整数反转的问题。当数值可能超出[-2^31, 2^31-1]范围时,算法会检查并确保不发生溢出,若发生则返回0。通过循环逐位反转数字,并在每一步检查是否溢出,以确保结果的正确性。
278

被折叠的 条评论
为什么被折叠?



