题目描述
请你写一个函数StrToInt,实现把字符串转换成整数这个功能。
当然,不能使用atoi或者其他类似的库函数。
样例
输入:"123"
输出:123
算法1
(模拟)
- 非常好的一道模拟题。
- 通过这道题可以知道,将不重要信息都略过,放在最前面处理
- 然后写处理重要信息的代码。
时间复杂度
$O(n)$
C++ 代码
class Solution {
public:
int strToInt(string s) {
if(s.empty()) return 0;
long long number = 0;
int k = 0;
while(k < s.size() && s[k] == ' ') k ++;
bool is_minus = false;
if(s[k] == '+') k ++;
else if(s[k] == '-') k ++, is_minus = true;
while(k < s.size() && s[k] >= '0' && s[k] <= '9')
{
number = number * 10 + s[k] - '0';
k ++;
}
if(is_minus) number *= -1;
if(number > INT_MAX) number = INT_MAX;
else if(number < INT_MIN) number = INT_MIN;
return (int)number;
}
};