题解 | #把字符串转换成整数(atoi)#
把字符串转换成整数(atoi)
http://www.nowcoder.com/practice/d11471c3bf2d40f38b66bb12785df47f
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return int整型
*/
int StrToInt(string s) {
int index = 0;
int n = s.length();
for(auto c:s){
if(c==' ') index++;
else break;
}
int symbol = 1;
if(s[index] == '-') {
symbol = -1;
index ++;
}
else if(s[index] == '+'){
index++;
}
int res = 0;
for(int i = index;i<n;i++){
int ans = s[i]-'0';
if(ans>9|| ans<0) break;
if(res>INT_MAX/10 || (res==INT_MAX/10 && ans> INT_MAX%10)) return INT_MAX;
if(res<INT_MIN/10 || (res==INT_MIN/10 && ans< INT_MIN%10)) return INT_MIN;
res = res*10+ans*symbol;
}
return res;
}
};