class Solution {
public:
    int StrToInt(string str) {
        int len=str.size();
        int flag=1;
        if(len==0)
            return 0;
        int i=0;
        while(str[i]==' '){
            i++;//如果str[i]为空格,str[i]顺序后移
        }
        if(str[i]=='+'){
            i++;
            flag=1;//如果str[i]为'+',str[i]顺序后移,并令标志flag为1,表示为正数
        }
        else if(str[i]=='-'){
            i++;
            flag=-1;//如果str[i]为'-',str[i]顺序后移,并令标志flag为-1,表示为负数
        }
        int num=0;
        while(str[i]!='\0'){
            if(str[i]>='0' && str[i]<='9'){//每遍历一个在0-9间的字符,就将其输入到num中
                num=num*10+flag*(str[i]-'0');//下一次输入到num中时要加上上一次*10的结果,即上一次的数左移一位(十进制下)
                i++;
            }
            else{
                return 0;
            }
        }
        return num;
    }
};