题解 | #把字符串转换成整数(atoi)#
把字符串转换成整数(atoi)
https://www.nowcoder.com/practice/d11471c3bf2d40f38b66bb12785df47f
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); } };
思路:模拟。
正常模拟即可。