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

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;
    }
};

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容