题目网址:https://leetcode-cn.com/problems/string-to-integer-atoi/
这个题目相对简单,题意是自己实现一个atoi,要考虑各种溢出情况。
我的题解:
class Solution {
public:
int myAtoi(string str) {
int answer = 0;
int i = 0;
int flag = 1; // 正数
while(str[i] == ' ')
i++;
if (str[i] == '-')
flag = -1; //负数
if (str[i] == '-' || str[i] == '+')
i++;
//cout << "i: " << i << endl;
while (i < str.size() && (str[i] >= '0' && str[i] <= '9')) {
int num = str[i] - '0';
if (answer > INT_MAX/10 || (answer == INT_MAX/10 && num > 7)) {
//cout << "answer: " << answer << endl;
return (flag == 1) ? INT_MAX : INT_MIN;
}
answer = answer *10 + num;
i++;
}
return (flag == 1) ? answer : -answer;
}
};