LeetCode 8String to Integer (atoi)

来源:互联网 发布:基于python.的毕业设计 编辑:程序博客网 时间:2024/05/21 15:57

描述

给出一个字符串,把它转换成整数

解决

坑点好多啊,看了题解才A掉的。判断是否有空格,判断字符的符号,还要考虑溢出,还有中间出现非数字字符要中断。

class Solution {public:   int myAtoi(string str) {        int lenth = str.size();        long long res = 0;        int i = 0;         while (str[i] == ' ' && i < lenth)++i;        int flag = 1;        if (str[i] == '-')        {             flag = -1;             ++i;        }           else if (str[i] == '+')        {            flag = 1;            ++i;        }            //cout << str[i] << endl;        while (i < lenth){           //cout << str[i] << endl;            if (!isdigit(str[i]))                break;            res = res * 10 + str[i] - '0';         if (res * flag < 0 && res * flag< ((int)(1) << 31))            return (int)(1) << 31;        if ( res * flag> 0 && res * flag > ((unsigned int)(-1) >> 1))            return ((unsigned int)(-1) >> 1);            ++i;        }        return res * flag;    }};
0 0
原创粉丝点击