java的int大小:-2147483648——2147483647
这道题主要的难点是怎么判断出界
class Solution {
public int strToInt(String str) {
int len = str.length();
int index = 0;
int hasflag = 1;
int res = 0;
int bndry = Integer.MAX_VALUE / 10;
while(index'9') return 0;
while(index='0'&&str.charAt(index)<='9'){
if(res > bndry || (res==bndry&&str.charAt(index)>'7')){
if(hasflag == -1) return Integer.MIN_VALUE;
else return Integer.MAX_VALUE;
}
res = res*10 + (str.charAt(index)-'0');
index++;
}else break;
}
return hasflag * res;
}
}



