字符串转换成整数
class Solution { public: int invalid = 1; int StrToInt(string str) { bool minus = false; int index = 0; long long num = 0; if(str.size() != 0 && str[index] != '\0'){ if(str[index] == '+') index++; else if(str[index] == '-'){ minus = true; index++; } if(str[index] != '\0'){ num = StrtoInt_Core(str,minus,index); } } return int(num); } long long StrtoInt_Core(string str,bool minus,int index){ int length = str.size(); long long num = 0; int flag = minus ? -1 : 1; for(;index < length;index++){ if(str[index] >= '0' && str[index] <= '9'){ num = num * 10 + flag * (str[index] - '0'); int xxx = 0x80000000; if(num < xxx || num > 0x7FFFFFFF){ num = 0; break; } } else{ num = 0; break; } } if(str[index] == '\0') invalid = 0; return num; } };