网址: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;
}
};