-
-
Notifications
You must be signed in to change notification settings - Fork 299
/
7.java
107 lines (105 loc) · 3.21 KB
/
7.java
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
__________________________________________________________________________________________________
1ms
class Solution {
public int reverse(int x) {
Integer x1=new Integer(x);
char[] ch=Integer.toString(x).toCharArray();
if(ch.length==0|| ch.length==1) return x;
StringBuffer str=new StringBuffer();
char[] ch1=new char[ch.length];
int num=0;
int a;
if (ch[0]=='-'){
for (int i=1; i<ch.length;i++){
a=num*10+ch[ch.length-i]-48;
if((a+48-ch[ch.length-i])/10!=num){
return 0;
}
num=a;
}
return -num;
}else{
for(int i=0;i<ch.length;i++){
a=num*10+ch[ch.length-i-1]-48;
if((a+48-ch[ch.length-i-1])/10!=num){
return 0;
}
num=a;
}
return num;
}
}
}
__________________________________________________________________________________________________
2ms
class Solution {
public int reverse(int x) {
try {
String k = x + "";
String result="";
int length = k.length();
for(int i=length-1;i>=0;i--){
char index = k.charAt(i);
if(index<= 57 && index>=48){
result = result + index;
}else {
result = index + result;
}
}
return Integer.parseInt(result);
} catch (NumberFormatException e) {
return 0;
}
}
}
__________________________________________________________________________________________________
3ms
class Solution {
public int reverse(int x) {
String ans="";
String k=x+"";
String negative= x<0? "-":"";
for(int i=k.length()-1;i>=0;i--)
{
if(k.charAt(i)!='-')
ans+=k.charAt(i)+"";
}
String s=negative+ ans;
Long l=Long.valueOf(s).longValue();
if(l>Integer.MAX_VALUE||l<Integer.MIN_VALUE){
return 0;
}
return Integer.valueOf(s).intValue();
}
}
__________________________________________________________________________________________________
37536 kb
class Solution {
public int reverse(int x) {
int rev = 0;
while (x != 0) {
int pop = x % 10;
x /= 10;
if (rev > Integer.MAX_VALUE/10 || (rev == Integer.MAX_VALUE / 10 && pop > 7)) return 0;
if (rev < Integer.MIN_VALUE/10 || (rev == Integer.MIN_VALUE / 10 && pop < -8)) return 0;
rev = rev * 10 + pop;
}
return rev;
}
}
__________________________________________________________________________________________________
37644 kb
class Solution {
public int reverse(int x) {
long res = 0;
while(x != 0) {
res = res*10 + x%10;
if(res > Integer.MAX_VALUE || res < Integer.MIN_VALUE) {
return 0;
}
x /= 10;
}
return (int)res;
}
}
__________________________________________________________________________________________________