首页 > 技术文章 > LeetCode(8)String to Integer (atoi)

CQUTWH 2016-12-04 14:44 原文

题目如下:

大概就是说自己考虑各种不同的输入格式情况,说了和没说一样,我不知道他的要求是什么,都是一步一步试出来的

python代码:

# *-* coding: utf-8 *-*
def myAtoi(self, str):
        """
        :type str: str
        :rtype: int
        """
        str = str.strip()
        result = ''
        flag = 0
        for s in str:
            if '0'<=s<='9':
                result += s
            elif s == '-' or s== '+':
                if flag == 1:
                    return 0
                result += s
                flag = 1
            else:
                break
        if len(result)>0 and flag == 0:
            if int(result)>2147483647:    #要求返回的是整型,故要考虑整型范围
                return 2147483647
            if int(result)<-2147483648:
                return -2147483648
            return int(result)
        elif len(result)>1 and flag == 1:
            if int(result)>2147483647:
                return 2147483647
            if int(result)<-2147483648:
                return -2147483648
            return int(result)
        else:
            return 0

代码能力不行,写出来很臃肿

推荐阅读