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 27
|
class { public: int myAtoi(string str) { int n = str.length(); int p = 0; bool sign = 0; int res = 0; while(str[p] == ' ' && p < n) p++; if(str[p] == '+') { p++; }else if(str[p] == '-'){ p++; sign = 1; } for(; p < n; p++) { if(str[p] < '0' || str[p] > '9') break; if(res > INT_MAX / 10 || (res == INT_MAX / 10 && (str[p] - '0') > INT_MAX % 10)) { return sign == 1 ? INT_MIN : INT_MAX; } res = res * 10 + (str[p] - '0'); } return sign == 1 ? (-1) * res : res; } };
|
近期评论