题目:
解决方法:
public class Solution {
public int atoi(String s) {
int MAX=2147483647;
int MIN=-2147483648;
s = s.trim();//1.去除空格
long value = 0;
int flag = 1;
for (int i = 0; i < s.length(); i++) {
if (i == 0 && (s.charAt(i) == '+' || s.charAt(i) == '-')) {//2.正负号
if (s.charAt(i) == '-') {
flag = -1;
}
continue;
}
if (s.charAt(i) < '0' || s.charAt(i) > '9') break;//3.遇见0-9以外字符退出循环
value = 10 * value + s.charAt(i) - '0';
long temp=value*flag;
if(temp>MAX){value=MAX;break;}else if(temp<MIN){value=MIN;break;}//4.Int溢出中断
}
value = value * flag;
return (int) value;
}
}