[leetcode刷题系列]String to Integer (atoi)

没啥好说的额


class Solution {
public:
    int atoi(const char *str) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        while(*str != 0){
            if(*str == ' ')
                ++str;
            else
                break;
        }
        bool neg = false;
        if(*str == '-')
            neg = true, ++ str;
        else if(*str == '+')
            ++str;
        if(*str == 0)
            return 0;
        long long now = 0;
        for(;*str != 0; ++ str){
            if(*str >= '0' && *str <= '9')
                now = now * 10 + *str - '0';
            else 
                break;
            if(now > INT_MAX)
                break;
        }
        if(now > INT_MAX){
            if(neg)
                return INT_MIN;
            else
                return INT_MAX;
        }
        if(neg)
            return -now;
        return now;
    }
};


猜你喜欢

转载自blog.csdn.net/sigh1988/article/details/9992759
今日推荐