题解 | #把字符串转换成整数#

把字符串转换成整数

http://www.nowcoder.com/practice/1277c681251b4372bdef344468e4f26e

遍历字符串,在第一个字符处判断是否为正负号,之后依此判断是否有非数字字符,将字符作为数字加入int数组中。
最后得到一个数组,其中装有我们所需要的数字,遍历该数组,将该数组中的数字转为一个整数即可。
实际上这里用另一种做法,每次都加上新的数字然后乘10,也可以,这种做法不需要辅助数组。

class Solution {
public:
    int StrToInt(string str) {
        if(str.empty()){
            return 0;
        }
        vector<int> arr;
        bool isPos = true;
        for(int i = 0;i < str.size();i++){
            if(i == 0){
                if(str[i] == '+'){
                    continue;
                }
                else if(str[i] == '-'){
                    isPos = false;
                    continue;
                }
            }
            if(str[i] - '0' < 0 || str[i] - '0' > 9){
                return 0;
            }
            else{
                arr.push_back(str[i] - '0');
            }
        }
        int num = 0;
        for(int i = 0;i < arr.size();i++){
            num += arr.at(i) * pow(10, arr.size() - i - 1);
        }
        if(!isPos){
            num *= -1;
        }
        return num;
    }
};
全部评论

相关推荐

09-29 17:44
已编辑
蔚来_测(准入职员工)
//鲨鱼辣椒:见不了了我实习了四个月上周再投筛选了一天就给我挂了
点赞 评论 收藏
分享
挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
Pandaileee:校友加油我现在也只有一个保底太难了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务