首页 > 代码库 > Leetcode--String to Integer (atoi)

Leetcode--String to Integer (atoi)

这道题需要注意的是处理时需要跳过空字符串,还需要注意数字越界的问题

    static int myAtoi(string str) {
        bool minus = false;
        int i = 0;
        while (str[i] ==  )i++;
        if (str[i] == + || str[i] == -) {
            if (str[i] == -)
                minus = true;
            i++;
        }
        int result = 0;
        for (; i < str.length(); i++) {
            int digit = str[i] - 0;
            if (str[i] < 0 || str[i] > 9)
                break;
            if (minus && result > -((INT_MIN + digit) / 10))
                return INT_MIN;
            else if (!minus && result > ((INT_MAX - digit) / 10))
                return INT_MAX;
            result = result * 10 + digit;
        }
        return minus ? -result : result;
    }

 

Leetcode--String to Integer (atoi)