LeetCode #8 : String to Integer (atoi)

Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.


int myAtoi(string str) {
        int index = 0, sign = 1, total = 0;
        if (str.length() == 0) return 0;
        while (str[index] == ' ' && index < str.length()) index++;
        if (str[index] == '+' || str[index] == '-') {
            sign = str[index++] == '+' ? 1 : -1;
        }
        while (index < str.length()) {
            int digit = str[index] - '0';
            if (digit < 0 || digit > 9) break;
            if (INT_MAX / 10 < total || INT_MAX / 10 == total && INT_MAX % 10 < digit) {
                return sign == 1 ? INT_MAX : INT_MIN;
            }
            total = 10 * total + digit;
            index++;
        }
        return total * sign;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容