题目链接: 字符串转换整数 (atoi).
b站视频: 字符串转换整数 (atoi).
class Solution {
public:
int myAtoi(string s) {
if(s.empty()) return 0;
int index = 0;
int flag = 1; //符号
long num = 0;
while(s.size() > 0 && s[index] == ' ') index++; //处理空格
//处理非数字字符
while(s[index] > '9' && s[index] < '0') index++;
//处理符号
if(s[index] == '-' && s[index + 1] == '+') return 0;
if(s[index] =='-') flag *= -1, index++;
if(s[index] == '+') index++;
while(s[index] >= '0' && s[index] <= '9'){
num = num * 10 + s[index] - '0';
if(num - 1 >= INT_MAX) break;
index++;
}
num *= flag;
if(num > INT_MAX) num = INT_MAX;
if(num < INT_MIN) num = INT_MIN;
return num;
}
};