class Solution { public: int StrToInt(string str) { if (str == "") return 0; long long res = 0; bool up = true; int i = 0; if (str[i] == '+' || str[i] == '-') { if (str[i] == '-') up = false; i++; } for (; i < str.length(); i++) { if (str[i] >= '0' && str[i] <= '9') { res = res * 10 + str[i] - '0'; if (up && res >= INT_MAX) return INT_MAX; if (!up && (-res <= INT_MIN)) return INT_MIN; } else return 0; } return up? res: -res; } };