leetcode 8: Sting to Integer (atoi)

来源:互联网 发布:帝国cms修改栏目目录 编辑:程序博客网 时间:2024/06/05 16:49
class Solution {public:    int myAtoi(string str) {        int len=str.length();        int i=0;        while(i<len&&str[i]==' ')            i++;        str=str.substr(i);//erase all white spaces        int sign=1;        if(str[0]=='-')        {            sign=-1;            str=str.substr(1);//erase negative character        }        else if(str[0]=='+')            str=str.substr(1);//erase positive character        len=str.length();        int res=0;        for(int i=0;i<len;i++)        {            if(str[i]<'0'||str[i]>'9')                break;            if(sign==1&&(INT_MAX-str[i]+'0')/10<res)            {                res=INT_MAX;                break;            }            else if(sign==-1&&(INT_MIN+str[i]-'0')/10>-res)            {                sign=1;                res=INT_MIN;                break;            }            res=res*10+str[i]-'0';        }        return res*sign;    }};

0 0
原创粉丝点击