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

LeetCode-Atoi

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

标签:leetcoed   atoi   long long   

Implement atoi to convert a string to an integer.

具体的网上已经有很多解法

这里主要就是注意一些地方(最重要的就是返回值一开始最好赋值成为long long 因为有可能会越界)

然后就是一些特殊情况的分析了

class Solution {
public:
    int atoi(string str) {
        if(str.length() == 0)
        {
            return 0;
        }
        long long  retVal = 0;
        int length = str.length();
        int i = 0;
        char signFlag = 1;
        while(str[i] == ' ')
        {
            i++;
        }
        if(str[i] == '-')
        {
            i++;
            signFlag = -1;
        }
        else if(str[i] == '+')
        {
            i++;
        }
        for(;i < length; i++)
        {
            int n = str[i]-'0';
            if((n < 0) || (n > 9))
            {
                return retVal*signFlag;  //<出现特殊符号
            }
            retVal = retVal*10+n;
            if(retVal*signFlag > INT_MAX) 
            {
                return INT_MAX;
            }
            else if(retVal*signFlag < INT_MIN)
            {
                return INT_MIN;
            }
        }
        return retVal*signFlag;
        
    }
};


LeetCode-Atoi

标签:leetcoed   atoi   long long   

原文地址:http://blog.csdn.net/xietingcandice/article/details/44514499

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