AcWing 87. 把字符串转换成整数-语法题-C++
原题链接
中等
作者:
码
,
2021-07-20 10:00:10
,
所有人可见
,
阅读 362
class Solution {
public:
int strToInt(string str) {
int size=str.size();
long long numeric=0;
bool is_positive=true;
vector<int> temp;
if(isalpha(str[0])) return 0;
for(int i=0;i<size;i++)
{
if(str[i]!=' ')
{
if(str[i]=='-') is_positive=false;
else if(str[i]=='+');
else if(str[i]>='0' && str[i]<='9' )
{
temp.push_back((str[i]-'0'));
}
}
}
for(int i=0,max_bit=temp.size()-1;i<temp.size();i++)
{
numeric+=pow(10,max_bit--)*temp[i];
}
if(numeric==0) return 0;
else if(numeric<INT_MIN) return INT_MIN;
else if(numeric>INT_MAX) return is_positive?INT_MAX:INT_MIN;
return is_positive?numeric:-numeric;
}
};