您的位置:首页 > 其它

LeedCode String to Integer (atoi)

2017-10-10 09:47 375 查看
网址:https://leetcode.com/problems/string-to-integer-atoi/description/

题目:

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.

翻译:

 实现atoi方法(字符串转为整数)

思路:

解题思路:

题目简单,重要的是注意一些边界条件,如判定越界,是否含有非法字符,前空格去掉等

代码:

class Solution {
public:
int myAtoi(string str) {
int index=0;
while(str[index]==' ')index++;
int flag=1;
if(str[index]=='-'){
index++;
flag=-1;
}else if(str[index]=='+'){
index++;
}
int res=0;
while(index<str.size()){
if(str[index]<'0' || str[index]>'9'){
return flag*res;
}
int digit=str[index]-'0';
if(flag==1 && res*10.0+digit>INT_MAX){
return INT_MAX;
}else if(flag==-1 && -(res*10.0+digit)<INT_MIN){
return INT_MIN;
}
res = res*10+digit;
index++;
}
return flag*res;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: