49.把字符串转发为整数(python)

题目描述

将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0

输入描述:

输入一个字符串,包括数字字母符号,可以为空

输出描述:

如果是合法的数值表达则返回该数字,否则返回0
 1 # -*- coding:utf-8 -*-
 2 class Solution:
 3     def StrToInt(self, s):
 4         # write code here
 5         dic={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9}
 6         flag="+"
 7         if len(s)>0 and (s[0]=="+" or s[0]=="-"):
 8             flag=s[0]
 9             s=s[1:]
10         if s == "" or s.isdigit()==False:
11             return 0
12         count=len(s)
13         res=0
14         for e in s:
15             res+=pow(10,count-1)*dic[e]
16             count-=1
17         if flag=="-":
18             res=-1*res
19         if res<=-2147483649 or res >=2147483648:
20                 res=0
21         return res

2019-12-27 19:37:16

猜你喜欢

转载自www.cnblogs.com/NPC-assange/p/12109308.html