首页 > 其他 > 详细

String to Integer (atoi)

时间:2014-12-03 23:08:26      阅读:288      评论:0      收藏:0      [点我收藏+]

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.

class Solution {
public:
    int atoi(const char *str) {
        int sign = 1, base = 0, i = 0;
    while (str[i] ==  ) { i++; }
    if (str[i] == - || str[i] == +) {
        sign = 1 - 2 * (str[i++] == -); 
    }
    while (str[i] >= 0 && str[i] <= 9) {
        if (base >  INT_MAX / 10 || (base == INT_MAX / 10 && str[i] - 0 > 7)) {
            if (sign == 1) return INT_MAX;
            else return INT_MIN;
        }
        base  = 10 * base + (str[i++] - 0);
    }
    return base * sign;
    }
};

 

String to Integer (atoi)

原文:http://www.cnblogs.com/code-swan/p/4141315.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!