leetcode8 字符串转换整数

Posted Erio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode8 字符串转换整数相关的知识,希望对你有一定的参考价值。

<cctype> isdigit(char)

 

问题:在做乘法,加法前,先判断是否溢出

&&优先级大于==

 

然后教训:

考虑情况不周。比如3.14这样

然后解决办法

多自己搞几组测试

+1

1

-1

...

 

class Solution {
public:
    int myAtoi(string str) {
        long long ret=0;
        long long cmp1=((long long)1<<31)-1;
        long long cmp2=-cmp1-1;
        int i=0;
        int flag=0;
        while(i!=str.length())
        {
            if(str[i]== ){
                i++;}
            else if(str[i]!=-&&!isdigit(str[i])&&str[i]!=+){
                return 0;}
            else
            {
                if(isdigit(str[i]))
                    flag=1;
                else if(i<str.length()-1&&isdigit(str[i+1]))
                    flag=str[i]==+?1:-1;
                else
                    return 0;
                if(!isdigit(str[i]))
                    i++;
                while(i<str.length()&&isdigit(str[i]))
                    {
                        ret=ret*10+(str[i]-0);
                        if(ret>=cmp1&&(flag==1))
                            return cmp1;
                        else if(ret>cmp1)
                            return cmp2;
                        i++;
                    }
                    return flag==1?ret:-ret;
            }         
        }
                return 0;
    }
};

 

以上是关于leetcode8 字符串转换整数的主要内容,如果未能解决你的问题,请参考以下文章

每日算法/刷穿 LeetCode8. 字符串转换整数 (atoi) (中等)

leetcode-7 整数反转&&leetcode8 字符串转换整数

leetcode-7 整数反转&&leetcode8 字符串转换整数

leetcode-7 整数反转&&leetcode8 字符串转换整数

前端与算法 leetcode 8. 字符串转换整数 (atoi)

leetcode8 字符串转整数