/**
* 给定一个 32位bit的整数, 输出它的倒置的数
* 就是输⼊整数,输出它的倒置
* -2^31 2^31-1
* 注意是否超出了整形的限制
*/
public class Test07 {
public static void main(String[] args) {
System.out.println(reverse01(214748364));
System.out.println(reverse02(214748364));
}
/**
* 输⼊整数,输出它的倒置
* rev= rev*10 + pop; 之前判断是否超出整形限制
* @param x
* @return
*/
public static int reverse01(int x) {
int rev =0;
while (x!=0) {
int pop = x%10;
x=x/10;
if (rev>Integer.MAX_VALUE/10 || rev<Integer.MIN_VALUE/10) {
return 0;
}
rev= rev*10 + pop;
}
return rev;
}
/**
* 输⼊整数,输出它的倒置, 用long接收
* @param x
* @return
*/
public static int reverse02(int x) {
long rev =0;
while (x!=0) {
int pop = x%10;
x=x/10;
rev= rev*10 + pop;
}
if (rev>Integer.MAX_VALUE|| rev<Integer.MIN_VALUE) {
return 0;
}
return (int) rev;
}
}
07-25
313

06-01
6002
