码迷,mamicode.com
首页 > 其他好文 > 详细

String to Integer (atoi)

时间:2017-12-03 21:46:23      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:ase   turn   ++   highlight   string   pre   ++i   div   atoi   

class Solution {
public:
    int myAtoi(string str) {
        if (str.empty()) return 0;
        int sign = 1, base = 0, i = 0, n = str.size();
        while (i < n && str[i] == ‘ ‘) ++i;
        if (str[i] == ‘+‘ || str[i] == ‘-‘) {
            sign = (str[i++] == ‘+‘) ? 1 : -1;
        }
        while (i < n && str[i] >= ‘0‘ && str[i] <= ‘9‘) {
            if (base > INT_MAX / 10 || (base == INT_MAX / 10 && str[i] - ‘0‘ > 7)) {
                return (sign == 1) ? INT_MAX : INT_MIN;
            }
            base = 10 * base + (str[i++] - ‘0‘);
        }
        return base * sign;
    }
};

  

String to Integer (atoi)

标签:ase   turn   ++   highlight   string   pre   ++i   div   atoi   

原文地址:http://www.cnblogs.com/xlqtlhx/p/7967312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!