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

把字符串转换成整数

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;
    }
};
全部评论

相关推荐

10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
10-15 10:23
门头沟学院 Java
牛可乐的头像真牛:赶紧举报,这公司绝对是诈骗的,等你签约后工作一两个月后根据合同漏洞把你开除,并且要求你赔偿3w培训费,996是为了提前筛选心甘情愿签下合同容易受骗的群体,纯粹面向校招生精心设计的骗局
你见过哪些工贼行为
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务