【leetcode C++】【剑指 Offer】 67. 把字符串转换成整数

剑指 Offer 67. 把字符串转换成整数

【leetcode C++】【剑指 Offer】 67. 把字符串转换成整数_第1张图片

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,剑指offer,字符串,c++)