class Solution {
public:
    int StrToInt(string str) {
        if(str.size() == 0 || str[0] == '0') {
            return 0;
        }

        int index = 0;
        // 寻找第一个数字
        while(str[index] < '0' || str[index] > '9') {
            index++;
        }
        
        // 判断前面是否正常
        if (index > 1 || (index == 1 && str[0] != '+' && str[0] != '-')) {
            return 0;
        }
        bool isNeg = (str[0] == '-');
        
        //判断是否是正常数字,并输出正常的数字
        int ret = 0;
        for(int i = index; i < str.size(); i++) {
            if(str[i] < '0' || str[i] > '9') {
                return 0;
            }
            ret = 10 * ret + (str[i] - '0');
         
        }
       if (isNeg) {
            return -ret;
        }
        return ret;

    }
};