题目描述
给定一个范围为 32 位 int 的整数,将其颠倒。
例1:
输入: 123
输出: 321例二:
输入: -123
输出: -321例三:
输入: 120
输出: 21注意:假设我们的环境只能处理 32 位 int 范围内的整数。根据这个假设,如果颠倒后的结果超过这个范围,则返回 0。
解题思路
1.x%10,求得它的最后一位的数字(第一次的时候,把x%10存到result里面去);
2.result*10 + x%10;
3.不断循环,直到x == 0;
public int reverse(int x) {
long result = 0; //用long来存储结果是为了,后面的溢出检查
while(x != 0){
result = result*10 + x%10;
if (result > Integer.MAX_VALUE || result <Integer.MIN_VALUE){
return 0; //超过int的范围了
}
x = x/10;
}
return (int)result;
}

本文介绍了一种颠倒32位整数的方法,并提供了一个Java代码示例。该算法通过循环提取整数的每一位并颠倒顺序,同时确保结果在32位整数范围内。
379

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



