class Solution {
public:
int strToInt(string str) {
str.erase(0, str.find_first_not_of(' '));
int64_t ans = 0;
int tag = 1;
for(int ii = 0; ii < str.size(); ii++) {
char ch = str[ii];
if(ii == 0 && (ch == '-' || ch == '+')) {
if(ch == '-') tag = -1;
}
else if(ch >= '0' && ch <= '9') ans = ans * 10 + (ch - '0');
else break;
if(ans > INT_MAX) break;
}
if(tag == 1 && ans >= INT_MAX) return INT_MAX;
if(tag == -1 && -ans <= INT_MIN) return INT_MIN;
return ans * tag;
}
};
【leetcode C++】【剑指 Offer】 67. 把字符串转换成整数
最新推荐文章于 2022-03-19 12:38:53 发布