1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class Solution { public: int strToInt(string str) { int k = 0; while(k < str.size() && str[k] == ' ') k++; bool is_minus = false; if(str[k] == '+') k++; if(str[k] == '-') { is_minus = true; k++; } long long ans = 0; while(k < str.size() && str[k] >= '0' && str[k] <= '9'){ ans = ans * 10 + str[k] - '0'; k++; } if(is_minus) ans *= -1; if(ans > INT_MAX) ans = INT_MAX; if(ans < INT_MIN) ans = INT_MIN; return ans; } };
|