AcWing 87. 把字符串转换成整数
原题链接
中等
作者:
南稚
,
2023-12-10 14:17:30
,
所有人可见
,
阅读 48
class Solution {
public:
int strToInt(string str) {
int k=0;//下标
while(k<str.size()&&str[k]==' ')k++;
long long res=0;//可能会出int
int minus=1;
if(k<str.size()){
if(str[k]=='-')minus=-1,k++; //逗号表达式
else if(str[k]=='+')k++;
}
while(k<str.size()&&str[k]>='0'&&str[k]<='9'){
res = res*10 +str[k]-'0';//直接算了,也不用strtingstream了
if(res>1e11)break;//abs大于10的11次方,res必然不再范围内
k++;//下标后移
}
res*=minus;
if(res> INT_MAX)res=INT_MAX;
if(res< INT_MIN)res=INT_MIN;
return res;
}
};