AcWing 87. 把字符串转换成整数
原题链接
中等
作者:
我要出去乱说
,
2021-01-25 16:08:29
,
所有人可见
,
阅读 420
class Solution {
public:
int strToInt(string str) {
int k = 0;
while (k < str.size() && str[k] == ' ') k ++ ; //去空格
long long res = 0;
int flag = 1; //判断正负数
if (k < str.size())
{
if (str[k] == '-') flag = -1, k ++ ;
else if (str[k] == '+') k ++ ;
}
while (k < str.size() && str[k] >= '0' && str[k] <= '9')
{
res = res * 10 + str[k] - '0'; //每添加一个数,就将当前数乘以10
if (res > 1e10) break;
k ++ ;
}
res *= flag;
if (res > INT_MAX) res = INT_MAX;
if (res < INT_MIN) res = INT_MIN;
return res;
}
};