Leetcode

LeetCode #8 字符串转换整数(atoi)

2020-02-03  本文已影响0人  HU兔兔
class Solution {
public:
    int myAtoi(string str) {
        int flag,PlusOrMinus,ans,p;
        flag=0;
        ans=0;
        PlusOrMinus=1;
        for(auto s:str){
            if(s>='0'&&s<='9'){
                flag=flag?flag:1;
                p=s-'0';
                if((ans==-214748364&&p>8)||(ans==214748364&&p>7)||abs(ans)>214748364){
                    ans=ans>0?2147483647:-2147483648;
                    break;
                }
                else{
                    ans=ans*10+p*PlusOrMinus;
                }
            }
            else if(flag){
                break;
            }
            else{
                if(s==' '){
                    continue;
                }
                else if(s=='+'){
                    flag=1;
                    continue;
                }
                else if(s=='-'){
                    flag=1;
                    PlusOrMinus=-1;
                    continue;
                }
                else{
                    break;
                }
            }
        }
        return ans;
    }
};

可惜还不会正则表达式,什么时候学一下然后用正则再做一遍。

上一篇下一篇

猜你喜欢

热点阅读