class Solution {
  public:
    int StrToInt(string str) {
        int i = 0;
        int result=0;
        int sign=1;
        while(i<str.size()){
		  //判断是否是+-,-单独赋值为-1
        if (i < str.size() && (str[i] == '+' || str[i] == '-')) {
            if(str[i]=='-'){
                sign=-1;
            }
            i++;
        }
		  //判断除了是+-的非其他符号,并对其判断是否超过了最大范围Int_max
        else if (i < str.size() && (str[i] >= '0' && str[i] <= '9')) {
            if (result > INT_MAX / 10 || (result == INT_MAX / 10 &&(str[i] - '0') > INT_MAX % 10)) {
                return  INT_MAX;
            }
            result = result * 10 + (str[i++] - '0');
        }
		  //其他情况返回0
        else{
            return 0;
        }
        }
	  //循环结束返回结果
        return sign*result;

    }
};