/*
需要考虑的就是一些特殊输入,特殊字符,正负号,溢出,空格
*/
public class Solution {
public int StrToInt(String str) {
boolean minus = false;
long num = 0;
if(str==null)
{
return 0;
}
int len = str.length();
if (len == 0) {
return 0;
}
str = str.replace(" ", "");
char[] chars = str.toCharArray();
int i = 0;
if (chars[i] == '-') {
minus = true;
i++;
} else if(chars[i]=='+'){
i++;
}
while (i < chars.length) {
if (chars[i] >= '0' && chars[i] <= '9') {
num = num * 10 + (chars[i]-'0');
if ((!minus && (num > Integer.MAX_VALUE)) || (minus && num <Integer.MIN_VALUE)) {
num = 0;
break;
}
i++;
} else {
num = 0;
break;
}
}
return minus ? 0 - (int) (num) : (int) num;
}
}