题目难度: Easy
关键字: Math String
相关问题:(E) Reverse Integer, (H) Valid Number
题目要求:
Implement atoi to convert a string to an integer.
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.
题解:
public class Solution {
public static int myAtoi(String str) {
str = str.trim();
long digit = 0;
char a;
boolean s = true;
int i = 0;
if(str.length() < 1)
return 0;
if(str.charAt(0) == '-') {
s = false;
i++;
} else if(str.charAt(0) == '+')
i++;
for(; i < str.length(); i++) {
a = str.charAt(i);
if(a >= '0' && a <= '9') {
if(s) {
digit = digit * 10 + (a - '0');
if(digit > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
}
else
digit = digit * 10 - (a - '0');
if(digit < Integer.MIN_VALUE)
return Integer.MIN_VALUE;
} else
break;
}
return (int) digit;
}
}