【剑指Offer】 49.把字符串转换成整数 python实现

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0

示例1

输入

+2147483647
1a33

输出

2147483647
0

# -*- coding:utf-8 -*-
class Solution:
    def StrToInt(self, s):
        # write code here
        if s=='':
            return 0
        numlist=['0','1','2','3','4','5','6','7','8','9']
        sum=0
        flag2num = {'-':-1, '+': 1}
        first = s[0]
        flag = 1
        if first in ['+', '-']: # 包含符号位的情况
            flag = flag2num[first]
            tmp = 0
            for string in s[1:]:
                if string in numlist:#如果是合法字符
                    sum=sum*10+numlist.index(string)
                if string not in numlist:#非合法字符
                    sum=0
                    break#跳出循环
        else:
            for string in s[0:]:
                if string in numlist:#如果是合法字符
                    sum=sum*10+numlist.index(string)
                if string not in numlist:#非合法字符
                    sum=0
                    break#跳出循环
        if sum*flag > int.
        return sum*flag
发布了116 篇原创文章 · 获赞 6 · 访问量 6166

猜你喜欢

转载自blog.csdn.net/weixin_42247922/article/details/104034476