原题链接:
https://leetcode.com/problems/string-to-integer-atoi/description/
题目理解
主要要看好题目给的提示。
另外判断越界可以一边往后面加数字,一边判断是否越界。
我的代码
public int myAtoi(String str) {
if(str == null || str.length() == 0) {
return 0;
}
str = str.trim();
int symbol = 1;
int index = 0;
char[] cs = str.toCharArray();
if(cs[0] == '+') {
index++;
} else if(cs[0] == '-') {
symbol = -1;
index++;
}
double temp = 0;
for(int i = index; i < cs.length; i++) {
int digit = cs[i] - '0';
if(digit < 0 || digit > 9) {
break;
}
temp = Math.abs(temp);
temp *= 10;
temp += digit;
temp *= symbol;
if(temp < Integer.MIN_VALUE) {
return Integer.MIN_VALUE;
}
if(temp > Integer.MAX_VALUE) {
return Integer.MAX_VALUE;
}
}
return (int)temp;
}