这题的数据好多要注意的细节
class Solution { public: int atoi(const char *str) { int l = strlen(str); long long sum = 0, k = 0; bool f = 0; for(k = 0; k < l; k++){ if(str[k] == ' ') continue; else if(str[k] == '-') {f = 1;k++;break;} else if(str[k] == '+') {k++;break;} else break; } for(int i = k; i < l; i++){ if(str[i] <= '9' && str[i] >= '0') { sum = str[i]-'0' + sum*10; if(f && (-sum <= INT_MIN)) return INT_MIN; if(!f && sum >= INT_MAX) return INT_MAX; } else break; } if(f) sum *= -1; return sum; } };