-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquestion9.java
More file actions
68 lines (67 loc) · 1.41 KB
/
question9.java
File metadata and controls
68 lines (67 loc) · 1.41 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
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
class Solution {
public int myAtoi(String s) {
int ng=0,i=0,n;
s=s.trim();
if(s.equals(""))
return 0;
String s1,s2;
if(s.charAt(0)=='-')
{
ng=1;
s=s.substring(1);
}
else if(s.charAt(0)=='+')
{
ng=0;
s=s.substring(1);
}
while(i<s.length())
{
n=(int)s.charAt(i);
if(n<48||n>57)
{
break;
}
i++;
}
s=s.substring(0,i);
i=0;
if(s=="")
return 0;
while(s.charAt(i)=='0' )
{
i++;
if(i==s.length())
return 0;
}
s=s.substring(i);
i=0;
n=0;
s1=Integer.toString(Integer.MAX_VALUE);
s2=Integer.toString(Integer.MIN_VALUE);
if(s.length()>10)
{
if(ng==0)
return Integer.parseInt(s1);
else
return Integer.parseInt(s2);
}
if(s.length()==10)
{
if(ng==1)
s='-'+s;
if(ng==0&&s.compareTo(s1)>0)
return Integer.parseInt(s1);
else if(ng==1 &&s.compareTo(s2)>0)
return Integer.parseInt(s2);
else
return Integer.parseInt(s);
}
else
{
if(ng==1)
s='-'+s;
return Integer.parseInt(s);
}
}
}