class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return int整型
*/
int StrToInt(string s) {
int idx = 0;
int len = s.length();
long long res = 0;
bool sign = true;
while (idx < len && s[idx] == ' ') {
++idx;
}
if (idx == len) {
return static_cast<int>(res);
}
if (s[idx] == '+' || s[idx] == '-') {
sign = s[idx] == '+';
++idx;
}
while (isdigit(s[idx])) {
res = res * 10 + (s[idx] - '0');
if (sign && (res >= INT_MAX)) {
return INT_MAX;
} else if (!sign && (res >= static_cast<long long>(INT_MAX) + 1)) {
return INT_MIN;
}
++idx;
}
return sign ? static_cast<int>(res): static_cast<int>(-res);
}
};
思路:模拟。
正常模拟即可。

京公网安备 11010502036488号