leetcode 8. String to Integer (atoi)

来源:互联网 发布:剑三萝莉捏脸数据2017 编辑:程序博客网 时间:2024/06/09 14:46
这个题目很奇怪,按理来说应该不难,但是有很多的特殊情况需要考虑,各种乱七八糟的特例。"+2","-156","   -9","+-2","-+3"等类似的情况,所以多错几次来试错还是有必要的。
class Solution {
public:    int myAtoi(string str) {    long result = 0;    int flag = 1;    for(int i = 0; i<str.size();)    {        i = str.find_first_not_of(' ');        if(str[i] == '-' || str[i] == '+')            flag = (str[i++] == '-')? -1 : 1;        while('0'<= str[i] && str[i] <= '9')         {            result = result*10 + (str[i++]-'0');            if(result*indicator >= INT_MAX) return INT_MAX;            if(result*indicator <= INT_MIN) return INT_MIN;                        }        break;    }        return result*flag;}};