题目:
Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.
Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.
代码:
[java] view plain
public class Solution {
public int myAtoi(String str) { //code 8
if(str.length() == 0 || str == null)
return 0;
str = str.trim();
int p = 0;
double res = 0;
int len = str.length();
while(str.charAt(p) == ' ' || str.charAt(p) == '\t')
p++;
boolean negflag = false;
if(str.charAt(p) == '+' || str.charAt(p) == '-')
negflag = (str.charAt(p++) == '-');
while( p < len && (str.charAt(p) >= '0' && str.charAt(p) <= '9') ){
res = res*10 + (str.charAt(p++) - '0');
}
res = negflag?-res:res;
if(res > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
if(res < Integer.MIN_VALUE)
return Integer.MIN_VALUE;
return (int)res;
}
}