LeetCode 8. String to Integer (atoi)html
字符串转换成数字。code
我的认为题目并无彻底讲清楚题意。最初觉得须要考虑多种状况,小数啊指数啊什么的,后面发现不是这样的,这题只要关注字符数字问题以及范围问题。htm
1.跳过空格字符;blog
2.判断正负号;ip
3.判断数字,顺便判断范围。leetcode
注意正负号和数字要连续,不能断;数字以后再出现非数字字符,直接返回,后面的字符补在理会。字符串
class Solution { public: int myAtoi(string str) { if (str.empty()) return 0; int sign = 1, i = 0, len = str.size(); int res = 0; while (i < len && str[i] == ' ') i++; if (str[i] == '+' || str[i] == '-') sign = (str[i++]=='+' ? 1 : -1); while (i < len && str[i] >= '0' && str[i] <= '9') { if (res > INT_MAX/10 || (res == INT_MAX/10 && str[i] >= '8')) return sign==1 ? INT_MAX : INT_MIN; res = res*10 + (str[i]-'0'); i++; } return sign * res; } };
LeetCode All in One题解汇总(持续更新中...)get
本文版权归做者AlvinZH和博客园全部,欢迎转载和商用,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利.博客