leetcode 8 Implement atoi to convert a string to an integer.
来源:互联网 发布:苏德战场主战场知乎 编辑:程序博客网 时间:2024/06/04 19:45
/*Implement atoi to convert a string to an integer.Requirements for atoi:1. The function first discards as many whitespace characters as necessary until the firstnon-whitespace character is found.2. Then, starting from this character, takes an optional initial plus or minus sign followedby as many numerical digits as possible, and interprets them as a numerical value.3. The string can contain additional characters after those that form the integral number,which are ignored and have no effect on the behavior of this function.4. If the first sequence of non-whitespace characters in str is not a validintegral number, or if no such sequence exists because either str is empty or it contains only whitespace characters, no conversion is performed.5. If no valid conversion could be performed, a zero value is returned.6. If the correct value is out of the range of representable values,INT_MAX (2147483647) or INT_MIN (-2147483648) is returned.*/#include <iostream>#include <string>#include <climits>using namespace std;class Solution {public: int myAtoi(string str) { int i = 0; bool sign = true; if (str.size() == 0) //处理空字符串 return 0; while (str[i] == ' ') //处理前导的空字符 ++i; if (str[i] == '-') //处理符号 { sign = false; ++i; } else if (str[i] == '+') { sign = true; ++i; } while (str[i] == '0') //处理数字前面的0 ++i;//LONG_MIN Minimum value for an object of type long int -2147483647 (-231+1) or less*//LONG_MAX Maximum value for an object of type long int 2147483647 (231-1) or greater* long int res = 0; long int tmp = 0; while (i < str.length() && str[i] >= '0' && str[i] <= '9' ) { tmp = res; res = res*10 + reinterpret_cast<int>(str[i]-'0'); if (res > INT_MAX) return sign == true ? INT_MAX : INT_MIN; ++i; } return sign == true ? res : res * (-1); }};void TEST(){ Solution sol; string s=" -000343245"; cout << sol.myAtoi(s) << endl;}int main(){ TEST(); return 0;}
0 0
- leetcode 8 Implement atoi to convert a string to an integer.
- Implement atoi to convert a string to an integer.
- Implement atoi to convert a string to an integer.
- LeetCode 8 - String to Integer (atoi)
- [LeetCode 8] String to Integer (atoi)
- leetcode 8STRING TO INTEGER (ATOI)
- 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 8:《String to Integer (atoi) 》
- leetcode.8---------------String to Integer (atoi)
- leetCode #8 String to Integer (atoi)
- [LeetCode Java] 8 String to Integer (atoi)
- leetcode 8 String to Integer (atoi)
- leetcode-8 String to Integer(atoi)
- LeetCode 8 String to Integer (atoi)
- LeetCode(8)String to Integer (atoi)
- Comparison of several number rounding methods
- js判断css动画是否完成 animation,transition
- Retrofit源码分析1
- Android 图片滑动,小圆点跟着滑动
- iOS中UISearchBar(搜索框)使用总结
- leetcode 8 Implement atoi to convert a string to an integer.
- 【OVS2.5.0源码分析】enqueue action精确流表生成过程分析
- HDU 1558 Segment set 并查集 线段相交
- 1019: A+B和C比大小
- linux进程优先级、进程nice值(转载)
- Gabor filter可视化项目报告
- [Java] 不使用第三个变量实现两个整数类型变量互换(异或运算符)
- C#新手入门代码 泛型类的静态字段的实例
- caffe学习笔记(一)