LeetCode题解(python)-8. 字符串转换整数
2019-03-07 13:47
591 查看
版权声明:转载请注明出处,谢谢 https://blog.csdn.net/zysps1/article/details/88299518
LeetCode题解(pyhon)
8. 字符串转换整数 (atoi)
题目描述:
在任何情况下,若函数不能进行有效的转换时,请返回 0。
说明:
假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,qing返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。
示例 1:
输入: "42" 输出: 42
示例 2:
输入: " -42" 输出: -42 解释: 第一个非空白字符为 '-', 它是一个负号。 我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。
示例 3:
输入: "4193 with words" 输出: 4193 解释: 转换截止于数字 '3' ,因为它的下一个字符不为数字。
示例 4:
输入: "words and 987" 输出: 0 解释: 第一个非空字符是 'w', 但它不是数字或正、负号。 因此无法执行有效的转换。
示例 5:
输入: "-91283472332" 输出: -2147483648 解释: 数字 "-91283472332" 超过 32 位有符号整数范围。 因此返回 INT_MIN (−231) 。
解题心得:
本题的算法思想并不难
难点在于把题目中每一个判定条件“安排”进程序里
用一个数组存储摘出来的数字即可
时间复杂度为
O(log(n)),其中n=len(nums),nums也即输出的数字的长度。
解题代码:
class Solution: def myAtoi(self, str: str) -> int: strr = str sym = 1 num = '' strr = strr.strip() if len(strr) == 0: return 0 if strr[0] == '+' and len(strr)==1: return 0 if strr[0] == '-' and len(strr)==1: return 0 if strr[0] == '+': sym = 1 elif strr[0] == '-': sym = -1 elif strr[0] >= '0' and strr[0] <= '9': num = num+strr[0] else: return 0 for i in range(1,len(strr)): if strr[i] >= '0' and strr[i] <= '9': num = num + strr[i] else: break if len(num)==0: return 0 num = int(num) nums = num*sym if nums>=-pow(2,31) and nums<=(pow(2,31)-1): return nums elif nums < -pow(2,31): return -pow(2,31) elif nums > pow(2,31)-1: return pow(2,31)-1
相关文章推荐
- leetcode之8. 字符串转换整数 (atoi)python实现
- Python 字符串 转换 整数 浮点数 数字
- LeetCode题解(python)-12. 整数转罗马数字
- [Python] 十六进制整数与ASCii编码字符串相互转换
- LeetCode第八题 字符串转换整数(atoi)(java)
- [Leetcode] String to integer atoi 字符串转换成整数
- Python 十六进制整数与ASCii编码字符串相互转换方法
- leetcode之8字符串转换整数 (atoi)
- Python:使用map和reduce实现整数字符串转换为整数(忽略int函数)
- Python3基础 str str()将整数,小数转换成字符串。 输入一个小数,显示整数部分与小数部分
- java/python中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数
- Python字符串、整数、和浮点型数相互转换
- python 字符串和整数,浮点型互相转换
- LeetCode字符串转换整数 (atoi)(C语言)
- Leetcode字符串转换整数 (atoi)
- python3 map函数和reduce函数的实例:1)字符串转换整数; 2)字母大小写转换
- leetcode 8. 字符串转换整数 (atoi)
- 【LeetCode】8. String to Integer (atoi) 字符串转换为整数
- LeetCode String to Integer (atoi) 字符串转换整数
- python中整数,浮点数和字符串的转换