-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReverseIntegerNumber.java
More file actions
40 lines (38 loc) · 1.26 KB
/
Copy pathReverseIntegerNumber.java
File metadata and controls
40 lines (38 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class ReverseIntegerNumber {
//找出n有几位数
public static int find(int n) {
if ((n >= 0 && n < 10) || (n > -10 && n <= -1)) return 1;
int count = 0;
while (n != 0) {
n = n / 10;
count++;
}
return count;
}
public static int reverse(int n) {
int l;
l = find(n);
int[] store = new int[l];
for (int i = 0; i < l; i++) {
store[i] = n % 10;
n = n / 10;
}
int[] reverseStore = new int[l];
for (int j = l - 1; j >= 0; j--) {
reverseStore[j] = store[j]; //这里直接把值传给reverseStore[],意义不大,我也不知道当时怎么想的
}
long answer = 0;
int power = 0;
for (int k = 0; k < l; k++) {
power = (int) Math.pow(10, l - k - 1);
answer += (long) reverseStore[k] * power;
}
if(answer>Integer.MAX_VALUE||answer<Integer.MIN_VALUE) return 0;
return (int)((answer));
}
public static void main(String[] a) {
System.out.println(reverse(1534236469));
System.out.println(reverse(5987));
System.out.println(reverse(987675456));
}
}