通过遍历实现,
class Solution {
public:
int StrToInt(string str) {
if(str == "0") //如果只有一个0,就返回0
return 0;
int sum = 0; //用来记录总数
int flag = 1; //正负标签
int i = 0; //遍历
if(str[0] == '-'){ //第一个值为'-',
flag = -1; //标志为-1
i++; //遍历进入下一个值
}
if(str[0] == '+') //第一个值为'+'
i++; //遍历进入下一个值
for(i; i < str.size(); i++){ //遍历
if(str[i] >= '0' && str[i] <= '9') //如果当前值在区间内
sum = sum * 10 + str[i] - '0'; //计算
else //不在区间内说明不合法
return 0;
}
return sum*flag; //返回总数与符号标志的乘积
}
};