剑指offer67. 把字符串转换成整数
注意各种特殊情况
class Solution { public: int strToInt(string s) { int res = 0; int i = 0; int flag = 1; // 检查空格 while (s[i] == ' ') i++; // 检查符号 if (s[i] == '-') flag = -1; if (s[i] == '-' || s[i] == '+') i++; // 计算数字 while (i < s.size() && isdigit(s[i])) { int r = s[i] - '0'; // 判断溢出 if (res > INT_MAX / 10 || res == INT_MAX / 10 && r > 7) { return flag > 0 ? INT_MAX : INT_MIN; } res = res * 10 + r; i++; } res *= flag; return res; } };