8. 字符串转换整数 (atoi)
int myAtoi(char* str) {
int i = 0;
int minus = 0;
long long num = 0;
if (!str)
return 0;
while (str[i] == ' ')
i++;
if (str[i] == '+')
i++;
else if (str[i] == '-') {
minus = 1;
i++;
}
while (str[i] >= '0' && str[i] <= '9') {
num = 10 * num + (str[i] - '0');
if (!minus && num > INT_MAX) {
return INT_MAX;
} else if (minus && -num < INT_MIN) {
return INT_MIN;
}
i++;
}
return minus == 0 ? num : -num;
}