class Solution {
public:
long long str2longlong(string s)
{
if (s == "")
{
return 0;
}
long b;
stringstream ss;
ss << s;
ss >> b;
return b;
}
int myAtoi(string str) {
// 如果字符串为空
if (str.size() == 0)
{
return 0;
}
int i = 0;
while (i < str.size() && str[i] == ' ')
{
i++;
}
// 如果字符串都是空白字符
if (i == str.size())
{
return 0;
}
if (!((str[i] >= '0' && str[i] <= '9') || str[i] == '-' || str[i] == '+'))
{
return 0;
}
int flag = 1;
if (str[i] == '-')
{
flag = -1;
i++;
}
else if (str[i] == '+')
{
flag = 1;
i++;
}
string res;
while (i < str.size() &&
(str[i] >= '0' && str[i] <= '9'))
{
res += str[i++];
}
long long r = str2longlong(res);
r = r * flag;
if (r > INT_MAX)
{
return INT_MAX;
}
if (r < INT_MIN)
{
return INT_MIN;
}
return (int)r;
}
};
LeetCode8. 字符串转换整数 (atoi)
最新推荐文章于 2022-03-19 20:31:50 发布