您的位置:首页 > 其它

leetcode 8: Sting to Integer (atoi)

2015-09-02 20:41 369 查看
class Solution {
public:
int myAtoi(string str) {
int len=str.length();
int i=0;
while(i<len&&str[i]==' ')
i++;
str=str.substr(i);//erase all white spaces
int sign=1;
if(str[0]=='-')
{
sign=-1;
str=str.substr(1);//erase negative character
}
else if(str[0]=='+')
str=str.substr(1);//erase positive character
len=str.length();
int res=0;
for(int i=0;i<len;i++)
{
if(str[i]<'0'||str[i]>'9')
break;
if(sign==1&&(INT_MAX-str[i]+'0')/10<res)
{
res=INT_MAX;
break;
}
else if(sign==-1&&(INT_MIN+str[i]-'0')/10>-res)
{
sign=1;
res=INT_MIN;
break;
}
res=res*10+str[i]-'0';
}
return res*sign;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: