将字符串转化为数字。
必须是有数字,可能有‘+’,‘-’。
如果是有其他的话,那么就是0。也就是前面不能出现其他的另外的东西。
class Solution {
public:
int myAtoi(string str) {
if(str.empty())return 0;
int ii=0;
int digit=1;
long long sum=0;
while(ii+1<str.size()&&isspace(str[ii]))ii++;
if(str[ii]=='-'||str[ii]=='+')digit=44-str[ii++];
while(ii<str.size()){
if(isdigit(str[ii]))sum=sum*10+(str[ii++]-'0');
else return sum*digit;
if(sum>INT_MAX)return digit==-1?INT_MIN:INT_MAX;
}
return sum*digit;
}
};