【剑指offer】把字符串转换成整数 -- Python 实现
2020-03-06 12:11
204 查看
【题目描述】
将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
输入描述:
输入一个字符串,包括数字字母符号,可以为空
输出描述:
如果是合法的数值表达则返回该数字,否则返回0
示例1
输入
+2147483647
1a33
输出
2147483647
0
【解题思路】
此题有一个最大的坑,就是数字不能越界,即转化后的整数应该在-2147483648到2147483647之间,其他就是最基础的判断,用Python实现的代码如下:
# -*- coding:utf-8 -*- class Solution: def StrToInt(self, s): # write code here if len(s) == 0 : return 0 if s[0] == '-': flag = -1 elif s[0] == '+' or s[0] >='0' and s[0] <= '9': flag = 1 base = 10 res = 0 for i in range(len(s)): if s[i] >= '0' and s[i] <= '9': res = res * base + (ord(s[i]) - ord('0')) elif (s[i] == '+' or s[i] == '-') and i == 0: continue else: return 0 if flag * res > 2147483647 or flag * res < -2147483648: return 0 return flag * res
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【剑指offer】C语言:实现函数可以将一个字符串转换为对应的整数,如+1234输出1234
- 剑指offer面试题49 把字符串转换成整数 (java实现)
- 【剑指offer】C语言:实现函数可以将一个字符串转换为对应的整数,如+1234输出1234
- 剑指offer——把字符串转换成整数
- 剑指Offer - 九度1508 - 把字符串转换成整数
- 【剑指offer-解题系列(50)】把字符串转换成整数
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
- 剑指offer 面试题49 把字符串转换成整数
- 【剑指Offer学习】【面试题49:把字符串转换成整数】
- 剑指Offer学习总结-把字符串转换成整数
- 剑指offer--把字符串转换成整数
- 剑指offer之字符串到整数的转换,例如输入字符串12345,输出整数12345.
- 剑指offer 50 把字符串转换成整数
- 剑指offer面试题(49)把字符串转换成整数
- 剑指offer——把字符串转换成整数
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
- 【剑指 Offer 题解】67. 把字符串转换成整数
- 【剑指Offer学习】【面试题49:把字符串转换成整数】
- 剑指offer-----将一个字符串转换成对应的整数(模拟atoi)
- 【剑指offer-Java版】49把字符串转换为整数