LeetCode 8. 字符串转换整数 (atoi)
原题链接
中等
作者:
linux_2019
,
2019-09-20 08:40:45
,
所有人可见
,
阅读 1249
C++ 代码
class Solution {
public:
int myAtoi(string str) {
long long ans=0;
bool is_end=false;
bool f=false;
int start=0;
while(str[start]==' ') start++;
if(str[start]=='-')
f=true,start++;
else if(str[start]=='+')
start++;
for(int i=start;i<str.size();i++)
{
if(str[i]>='0'&& str[i]<='9'&& ans<=INT_MAX )
ans=ans*10+(str[i]-'0'),is_end=true;
else
break;
}
if(ans>INT_MAX)
return f?INT_MIN:INT_MAX;
else if(ans==INT_MAX)
return f?INT_MIN+1:INT_MAX;
return f?0-ans:ans;
}
};