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