欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

牛客 JZ49 : 把字符串转换成整数

程序员文章站 2022-06-11 10:35:58
...

牛客 JZ49 : 把字符串转换成整数

class Solution {
public:
    
    //判断字符是不是数字
    bool isDigit(const char& ch) {
        if(ch >= '0' && ch <= '9')
            return true;
        return false;
    }
    
    int StrToInt(string str) {
        //判空
        if(str.empty() == 1){
            return 0;
        }
        
        int i = 0; //索引
        int flag = 1; //符号位
        int ret = 0; //保存结果
        
        //判断第一个位置是否有'+'或者'-'
        if(str[i] == '+'){
            //flag赋1, 索引i后移
            flag = 1;
            i++;
        }
        else if(str[i] == '-'){
            //flag赋-1, 索引i后移
            flag = -1;
            i++;
        }
        
        //开始遍历
        for(; i < str.size(); i++) {
            if(isDigit(str[i]) == 0){
                //不是数字, 非法输入
                return 0;
            }
            else{
                //合法输入
                ret = ret * 10 + str[i] - '0';
            }
        }
        return ret * flag;
    }
};

相关标签: OJ题目