标签:转换成 elif return Offer digit len flag str 67
思路:模拟,排除边界情况
Python:
class Solution: def strToInt(self, str: str) -> int: if not str or (len(str)==1 and (str[0]<'0' or str[0]>'9')): return 0 str=str.strip() count=len(str) digit_flag=False for i in range(len(str)): if str[i]=='-' or str[i]=='+': if not digit_flag: continue else: count=i break elif (str[i]>='0' and str[i]<='9'): digit_flag=True continue else: count=i break try: if str[0] == '-': if str[1]>'9' or str[1]<'0': return 0 try: tmp_int=int(str[1:count]) res=0-tmp_int except: tmp_int=int(str[1:]) res=0-tmp_int elif str[0]=='+': if str[1]>'9' or str[1]<'0': return 0 try: res=int(str[1:count]) except: res=int(str[1:]) elif str[0]>='0' and str[0]<='9': try: tmp_int=int(str[:count]) res=tmp_int except: tmp_int=int(float(str)) res=tmp_int else: return 0 except: return 0 if res>2**31-1: return 2**31-1 elif res<(-2)**31: return (-2)**31 else: return res
标签:转换成,elif,return,Offer,digit,len,flag,str,67 来源: https://www.cnblogs.com/tiuyoaix/p/16171935.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。