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;
}
};
题目:
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;
}
};
相关文章推荐
- LeedCode OJ -- String to Integer (atoi)
- [leedcode oj 8]String to Integer (atoi)
- (LEEDCODE)String to Integer (atoi) 字符串转整型
- [LeedCode OJ]#8 String to Integer (atoi)
- CODE 122: String to Integer (atoi)
- 【Leet Code】String to Integer (atoi) ——常考类型题
- Leet Code OJ 8. String to Integer (atoi) [Difficulty: Easy]
- (letcode)String to Integer (atoi)
- 【Leet Code】String to Integer (atoi) ——常考类型题
- LeeCode String to Integer (atoi)
- Leet Code 8 String to Integer (atoi)
- Leetccode String to Integer (atoi) 字符串转数字
- [leetcode] String to Integer (atoi)
- String to Integer(atoi)
- [Leetcode]String to Integer (atoi)
- String to Integer (atoi)
- (atoi)Leetcode第八题_String to Integer (atoi)
- LeetCode题解——String to Integer(atoi)
- LeetCode:String to Integer (atoi)
- String to Integer (atoi)