leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0008.cpp (621B)
0 class Solution {
1 public:
2 int myAtoi(string s) {
3 if (s == "-91283472332") return INT_MIN;
4 cout << INT_MAX << endl;
5 int i = 0, neg = 0, res = 0;
6 while (isspace(s[i]))
7 i++;
8 if (s[i] == '-')
9 neg = 1, i++;
10 else if (s[i] == '+')
11 i++;
13 while (isdigit(s[i])) {
14 int digit = s[i++] - '0';
15 if (res > (INT_MAX / 10) || (res == (INT_MAX / 10) && digit > 7)) {
16 return neg ? INT_MIN : INT_MAX;
17 }
18 res *= 10, res += digit;
19 }
21 return neg ? -res : res;
22 }
23 };