力扣 leetcode atoi 字符串转换整数
INT_MAX (2147483647) 和INT_MIN (-2147483648)
定义结构、类、枚举类型时必须大括号 } 后面加分号;
class Solution { public: int myAtoi(string str) { long result = 0; int flag = 1; int i = 0; if (str == " ") { i++; } if (str[i] == '-' || str[i] == '+') { if (str[i] == '-') { flag = -1; i++; } if (str[i] == '+') { i++; } } if (str[i] >= '9' or str[i] <= '0') { return 0; } for (; i < str.length(); i++) { if (str[i] <= '9' & str[i] >= '0') { result = result * 10 + str[i] - '0'; if (flag == 1) { cout << INT_MAX <<result<<endl; if (result >= INT_MAX) { return INT_MAX; } } if (flag == -1) { if (-1*result<= INT_MIN ) { return INT_MIN; } } } else { break; } } return flag*result; } };
有一点一定要注意 INT_MAX不能再加一 加完会变负数
INT_MIN不能再减一 减完会变正 也不能乘以-1
我在这里de了好久 是我太蠢了 ?