2019-08-20剑指 把字符串转换成整数

20min

from functools import reduce
# -*- coding:utf-8 -*-
class Solution:
    def StrToInt(self, s):
        return reduce(lambda x,y:x*10+y,map(lambda x:int(x),s))  #reduce函数的妙用

class Solution2:
    def StrToInt(self, s):
        flag=0
        if not s :return 0
        elif s[0]=='-' or s[0]=='+':flag=1
        sum=0
        for i in range(flag,len(s)):
            if not s[i].isdigit():return 0  #isalnum,包括了字母
            sum=sum*10+int(s[i])
        return sum if s[0]!='-' else -sum


if __name__ == '__main__':
    t=Solution2()
    print(t.StrToInt('2147483647'))
    print(t.StrToInt('+2147483647'))
    print(t.StrToInt('-2147483647'))
    print(t.StrToInt('1a33'))
    print(t.StrToInt('a133'))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容