题目描述
思路分析
模拟atoi函数。
代码实现
class Solution {
public:
int myAtoi(string s) {
int k=0;
while(k<s.size()&&s[k]==' ') k++;
if(k==s.size()) return 0;
int sign=1;
if(s[k]=='-') sign=-1,k++;
else if(s[k]=='+') k++;
long long res=0;
while(k<s.size()&&isdigit(s[k])){
res=res*10+s[k]-'0';
k++;
if(res>INT_MAX)break;
}
res*=sign;
if(res>INT_MAX) res=INT_MAX;
if(res<INT_MIN) res=INT_MIN;
return res;
}
};