剑指offer 把字符串转换成整数(C++版简洁代码)

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0

+2147483647
    1a33

输出

复制
2147483647
    0
代码:
public:
    int StrToInt(string str) {
        int k=0,carry=1;
        int len=str.size();
        for(int i=len-1;i>=0;i--){\
            if(str[i]<='9'&&str[i]>='0'){
                k+=(str[i]-'0')*carry;
                carry*=10;
            }
            else if(i==0&&str[i]=='+')continue;
            else if(i==0&&str[i]=='-')k=-k;
            else return 0;
        }
        return k;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_42130471/article/details/80698442