classSolution { public: intStrToInt(string str){ int len = str.size(); if (len == 0) return0; long res = 0, flag = 1; int i = 0; while (str[i] == ' ') { i++; if (i >= len) return0; } if (str[i] == '-' || str[i] == '+') { if (str[i] == '-') flag = -1; i++; } for (i; i < len; ++i) { if (str[i] < '0' || str[i] > '9') return0; res = res * 10 + (str[i] - '0'); if (res >= INT_MAX && flag == 1) return INT_MAX; if (res > INT_MAX && flag == -1) return INT_MIN; } return res * flag; } };