解题思路:
1.处理字符串为空 , 字符串中除了首位存在不是数字字符。
2.处理符号位,将符号位设为0 (如果有的话)
class Solution {
public:
int StrToInt(string str)
{
if(str.empty())
return 0;
int flag = 1;
int sum = 0;
if(str[0] == '-')
{
flag =-1;
str[0] = '0';
}
else if(str[0] == '+')
{
flag = 1;
str[0] = '0';
}
for(int i = 0 ;i < str.size() ;++i)
{
if(str[i] < '0' || str[i] > '9')
return 0;
sum = sum*10 + str[i]-'0';
}
return flag*sum;
}
};