Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Java中int型范围:-2^32 - 2^32-1(2147483647 - -2147483648),也可以用Integer.MAX_VALUE - Integer.MIN_VALUE表示。
取余操作:当a<b时,a%b=a.
public class Reverse {
public static int reverse(int x) {
int max = 2147483647; //-2^32 ~ 2^32 -1
int min = -2147483648;
long sum = 0; //sum值可能会超过int类型的范围,所以此处设为long.如果是int型,当sum越界时,系统自动赋给sum一个值,而不是sum本来的值
while(x != 0)
{
int temp = x % 10;
sum = sum * 10 + temp;
x = x / 10;
}
if(sum > max||sum <min)
return 0; //越界时返回0
else
return (int)sum; //reverse的返回值是int
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int s=1534236469;
System.out.println(reverse(s));
}
}