美文网首页实践提升
LeetCode #8 : String to Integer

LeetCode #8 : String to Integer

作者: 雒霭 | 来源:发表于2017-03-04 11:38 被阅读7次

    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;
        }
    

    相关文章

      网友评论

        本文标题:LeetCode #8 : String to Integer

        本文链接:https://www.haomeiwen.com/subject/rgndgttx.html