目录
牛客_字符串转整数
解析代码
本题本质是模拟实现实现C库函数atoi,不过参数给的string对象。
关键是要处理几个关键边界条件:
- 空字符串
- 正负号处理
- 数字串中存在非法字符
class Solution {
public:
int StrToInt(string str) {
long long ret = 0;
int n = str.size();
int flag = 1, i = 0;
if (str[0] == '+')
str[0] = '0';
if (str[0] == '-')
{
flag = -1;
i = 1;
}
for (; i < n; ++i)
{
if (str[i] < '0' || str[i] > '9')
{
return 0;
}
ret *= 10;
ret += str[i] - '0';
}
return flag * ret;
}
};