题目要求
解题思路
本题没有难点,只需注意最大整数的比较时要切换成long long
代码实现
class Solution
{
public:
int myAtoi(string s)
{
//标记正负号
int flag=1;
long long ret=0;
int n=s.size();
int i=0;
//去除空格
while(s[i]==' ') i++;
//识别符号
if(s[i]=='-') flag=-1;
if(s[i]=='-'||s[i]=='+') i++;
while(i<n&&isdigit(s[i]))
{
ret=ret*10+s[i]-'0';
if(ret>INT_MAX)
{
return flag==1?INT_MAX:INT_MIN;
break;
}
i++;
}
return ret*flag;
}
};