把字符串转换成整数

把字符串转换成整数_牛客网

https://www.nowcoder.com/practice/1277c681251b4372bdef344468e4f26e?tpId=13&tqId=11202&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

class Solution {
public:
    int StrToInt(string str) {
        int len=str.size();
        int flag=1;
        if(len==0)
            return 0;
        int i=0;
        while(str[i]==' '){
            i++;//如果str[i]为空格,str[i]顺序后移
        }
        if(str[i]=='+'){
            i++;
            flag=1;//如果str[i]为'+',str[i]顺序后移,并令标志flag为1,表示为正数
        }
        else if(str[i]=='-'){
            i++;
            flag=-1;//如果str[i]为'-',str[i]顺序后移,并令标志flag为-1,表示为负数
        }
        int num=0;
        while(str[i]!='\0'){
            if(str[i]>='0' && str[i]<='9'){//每遍历一个在0-9间的字符,就将其输入到num中
                num=num*10+flag*(str[i]-'0');//下一次输入到num中时要加上上一次*10的结果,即上一次的数左移一位(十进制下)
                i++;
            }
            else{
                return 0;
            }
        }
        return num;
    }
};

全部评论
这个没有考虑溢出吧
点赞 回复 分享
发布于 2020-04-02 16:29

相关推荐

快乐的退堂鼓鼓手求你...:**hr,自己工作失职,怪求职者
点赞 评论 收藏
分享
09-18 12:13
已编辑
门头沟学院 产品经理
火猴大圣:不要委屈自己,进去看一看 。。。 这样你才能彻底死心
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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