Leetcode-String to Integer (atoi)
2018-01-12 22:14
288 查看
Leetcode-String to Integer (atoi)题目描述:实现C++中的atoi函数,将字符串转换成整数。题目解析:这道题是一道最近面试比较高频的题。实验室的师兄去面试京东和美团都有问到过这个问题,因此准备面试的小伙伴们可以注意一下这道题。这道题我认为主要是要考虑到各种情况: 1. 最开始是空格,i++( 跳过空格)然后接下来接着去判断 2. 接下来就是正负号的情况。正负号只能在最前面,负号的话要转化为负数。 3. 之后就是判断是否是数字,如果出现不是,就break; 4. 这道题还是一个隐含的大数问题,因为要转为int型,所以超过int表示范围的,也无法进行转换。前面定义变量时,需要定义成long long型。对于超出范围的,不进行转换。对于是数组的字符如何去转换呢? 可以用公式 num = num * 10 + (str[i]-'0')*flag 按位进行转换。C++代码:class Solution {public:int myAtoi(string str) {int len = str.size();long long res = 0;int i = 0;int flag = 1;while (str[i] == ' ')i++;if (str[i] == '-'){flag = -1;i++;}else if (str[i] == '+'){i++;}for (int j = i; j<len&&res<INT_MAX; j++) {if (str[j] >= '0'&&str[j] <= '9'){res = res * 10 + str[j] - '0';}else{//res=0;break;}}if (res*flag>INT_MAX)return INT_MAX;else if (res*flag<INT_MIN)return INT_MIN;elsereturn res*flag;}};
相关文章推荐
- LeetCode 8. String to Integer (atoi)
- LeetCode - 8 - String to Integer (atoi)
- [Leetcode] 8.String to Integer (atoi)
- [leetcode] 8.String to Integer (atoi)
- leetcode String to Integer (atoi)
- Leetcode: String to Integer (atoi)
- LeetCode 8. String to Integer (atoi)
- LeetCode解题报告--String to Integer (atoi)
- [Leetcode]#8 String to Integer (atoi)
- LeetCode 8 :String to Integer (atoi)
- [LeetCode] String to Integer (atoi)
- leetcode-String to Integer (atoi)
- atoi (String to Integer) leetcode
- [LeetCode] 8. String to Integer (atoi)
- 【leetcode c++】08 String to Integer (atoi)
- leetcode(E) string to integer(atoi)
- leetcode---String to Integer (atoi)
- LeetCode题解--8. String to Integer (atoi)
- [LeetCode] String to Integer (atoi) 字符串
- [LeetCode] String to Integer (atoi)