一、题目
请你写一个函数StrToInt,实现把字符串转换成整数这个功能。当然,不能使用atoi或者其他类似的库函数。
二、解法
需要考虑的因素:
- 数据的上下溢出
- 空字符串
- 有无正负号
- 字符串中包含不是数字的字符
class Solution {
public:
int StrToInt(string str) {
if(str.empty())
return 0;
int symbol = 1;
if(str[0] == '-'){
symbol = -1;
str[0] = '0';
}else if(str[0] == '+'){
symbol = 1;
str[0] = '0';
}
int sum = 0;
for(int i=0; i<str.size(); ++i)
{
if(str[i] <'0'||str[i]>'9'){
sum = 0;
break;
}
else{
sum = sum*10 + str[i] - '0';
}
}
return sum*symbol;
}
};