题意:


方法:
模拟

思路:
        直接模拟。
        遍历字符串,判断字符:
            1.如果是数字,则追加成数字;
            2.如果是正负号,则标记正负;
            3.如果是空格,则忽略;
            4.如果是其他字符,则退出循环。



class Solution {
public:
    int atoi(const char *str) {
        int len=strlen(str);
        int res=0;
        int flag=1;//判断正负号
        for(int i=0;i<len;i++){//遍历字符串
            if(isdigit(str[i])){//数字
                res=res*10+str[i]-'0';
            }else if(str[i]=='+'){//正号
                flag=1;
            }else if(str[i]=='-'){//负号
                flag=-1;
            }else if(str[i]==' '){//空格
                continue;
            }else{//其他情况,退出循环
                break;
            }
        }
        return flag*res;
    }
};


时间复杂度:
空间复杂度: