把字符串转换成整数

来源:互联网 发布:马士兵struts2源码 编辑:程序博客网 时间:2024/06/09 22:11


class Solution {public:int StrToInt(string str) {if(str.length() == 0)            return 0;        bool flag = true;        int k = 0;        if(str[0] == '+'){            k++;        }else if(str[0] == '-'){k++;            flag = false;        }        int num = 0;        for(int i = k;i < str.length(); i++){            if(str[i] < '0' || str[i] > '9')                return 0;            if(num > INT_MAX / 10)                return  0;            if(num == INT_MAX / 10 && str[i] - '0' > INT_MAX % 10 && flag)                return 0;            if(num == INT_MAX / 10 && str[i] - '0' == INT_MAX % 10 + 1 && !flag)                return INT_MIN;            if(num == INT_MAX / 10 && str[i] - '0' > INT_MAX % 10 + 1 && !flag)                return 0;            num *= 10;            num += str[i] - '0';        }        return num * ( flag ? 1 : -1 );}};


0 0
原创粉丝点击