https://leetcode-cn.com/problems/reverse-integer/
class Solution {
public int reverse(int xx) {
if (xx == 0) {
return xx;
}
boolean minus = false;
long x = xx;
if (xx < 0) {
minus = true;
x *= -1;
}
int n = ((int) Math.log10(x)) + 1;
long pow = 1;
for (int i = 1; i < n; i++) {
pow *= 10;
}
long result = 0L;
for (int i = n; i > 0; i--) {
result += pow * (x % 10);
pow /= 10;
x /= 10;
}
if(result>Integer.MAX_VALUE){
return 0;
}
return minus ? -1 * (int)result : (int)result;
}
}
本文深入探讨了整数反转算法的实现细节,包括处理负数、溢出检查及位操作等关键步骤。通过具体代码示例,展示了如何将一个整数的数字顺序完全颠倒,同时确保结果在整数范围内,避免潜在的溢出错误。
418

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



