【剑指OFFER】把字符串转换成一个整数

题目描述
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0
示例1
输入
复制
+2147483647
1a33
输出
复制
2147483647
0

class Solution {
public:
    int StrToInt(string str) {
        int fla=1;
        long long num=0;
        if(str[0]=='-')fla=-1;
        for(int i=(str[0] ==  '-' || str[0] == '+') ? 1 : 0;i<str.size();i++){
            if(str[i]<'0'||str[i]>'9')return 0;
            num=num*10+str[i]-'0';
        }
        num*=fla;
        if(num >= ((-1)<<31) && num <= ((1<<31)-1) )
            return num;
        else  
            return 0;
    }
};
    原文作者:笨笨De蜗牛
    原文地址: https://blog.csdn.net/a342500329a/article/details/102926371
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞