[Leetcode]String to Integer (atoi)

来源:互联网 发布:java date 获取时间戳 编辑:程序博客网 时间:2024/06/04 00:45

//要注意一个地方就是,当res值为超过边界的时候,需要long long int来存储。因此,声明时候需要long long

class Solution {

public:
    int atoi(const char *str) {
        if(*str == '\0'||str== NULL)return 0;
        long long int res = 0;
        while(*str == ' ')
        str++;
        int sign = 1;
        if(*str=='-')
        {sign=-1;str++;}
        else if(*str == '+')
        str++;
        while(*str>='0' && *str<='9')
        {
            res=res*10+*str-'0';
            if(res*sign>INT_MAX)
            {res=INT_MAX;break;}
            else if(res*sign<INT_MIN)
            {res=INT_MIN;break;}
            str++;
        }
        res*=sign;
        return res;
    }
};
0 0
原创粉丝点击