# [LeetCode]String to Integer (atoi)

208人阅读 评论(0)

/*
Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

Update (2015-02-10):
The signature of the C++ function had been updated. If you still see your function signature accepts a const char * argument, please click the reload button  to reset your code definition.
*/
class Solution {
public:
//stoi,stod，stof(string)
int myAtoi(string str) {
string::size_type sz;
for(sz=0; sz!=str.size(); ++sz)     //找非空字符
if(str[sz]==' ')
continue;
else
break;
int flag = 1;   //1 for plus
if(str[sz]=='-'){
flag = -1;
++sz;
}
else if(str[sz]=='+'){
flag = 1;
++sz;
}
char c = str[sz];
long long int ret=0;
if(c<'0'||c>'9')    return 0;   //invalid
while(c>='0'&&c<='9'){
if(flag ==1)
ret = 10*ret + c-'0';
else
ret = 10*ret-(c-'0');
c = str[++sz];
if(ret>INT_MAX)
ret = INT_MAX;
else if(ret<INT_MIN)
ret = INT_MIN;
}
return ret;

}
};
0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：55958次
• 积分：2173
• 等级：
• 排名：第17451名
• 原创：162篇
• 转载：9篇
• 译文：0篇
• 评论：13条
文章分类
阅读排行
评论排行
最新评论
cv相关