Leetcode 8 atoi 字符串转整数

在这里插入图片描述

class Solution {
public:
    int myAtoi(string str) {
        int size =str.size();
        long ans=0;
        int i=0 ,j=0;
        while(str[i] == ' ')
        {
            i++;
        }
    
        if((str[i]<'0' || str[i] > '9') && str[i] != '+' && str[i] != '-'  ){
            
            return 0;
        }
        
        bool flag = true;
        
        if(str[i]=='-')
        {
            flag=false;
            i++;
        }else if(str[i]== '+')
        {
            i++;
        }
        
        while(str[i]>='0' && str[i] <='9' && i <size)
        {
            int tmp = str[i] - '0';
            if((ans*10 + tmp) > INT_MAX ) {
                if(flag) return INT_MAX;
                else return INT_MIN;
            }
            ans=ans*10+tmp;
            i++;
        }
        
        if(!flag)
        {
            ans*=-1;
        }
            
            
            
            
            
            
        return ans;
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39871498/article/details/89060321