地址
https://leetcode-cn.com/problems/string-to-integer-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 signal=1;//没写符号假定为正
if(s[k]=='-') {
signal=-1;k++;
}else if(s[k]=='+'){
k++;
}
//读取数字
long long res=0;
while(k<s.size()&&s[k]>='0'&&s[k]<='9'){
int r=s[k]-'0';
res=res*10+r;
k++;
if(res>INT_MAX) break;
}
//溢出部分处理
res=res*signal;
if(res>INT_MAX) return INT_MAX;
if(res<INT_MIN) return INT_MIN;
return res;
}
};