leetcode8 字符串转换整数

没啥困难的,唯一有问题的就是边界问题,这个可以参见整数倒置的解法。不过不同的题做法不一致,这个题更简单一点,贴代码

class Solution {
public:
    int myAtoi(string s) 
    {
        int i = 0;
        long result = 0;
        bool zheng = true;
        while(s[i] == ' ')
        i++;
        if(s[i] == '+' || s[i] == '-' )
        {
            if(s[i] == '-')
            zheng = false;
            i++;
        }
        while(isdigit(s[i]))
        {
            result = s[i]-'0' + result*10;
            if(result>pow(2,31)-1)
            break;
            i++;
        }
        if(!zheng)
        result = -1*result;
        if(result>pow(2,31)-1)
        result = pow(2,31)-1;
        else if(result<-1*pow(2,31))
        result = -1*pow(2,31);
        return result;
    }
};

 

posted @ 2021-03-12 17:44  zhaohhhh  阅读(45)  评论(0)    收藏  举报