Leetcode 8. String to Integer (atoi) Python

题目: 8. String to Integer (atoi)
在这里插入图片描述
此题目(将输入的字符串转换成整型数)需要注意的要点:

  • 字符串前面的空格需要清除。例 ‘   -42 ad ’   ->    ‘-42 ad’
  • 数字前最多允许有一个‘+’或者是‘-’,否则的话返回0
  • 数字中出现不是数字的字符时,停止转换。例:‘436 ab’,‘436   ’,‘436 34’,‘436-1’,‘436+1’,都判定为436
  • 当转换出来的数字必须在 [-231,231-1] 范围内,如果越界的话,即数字大于最大值时返回INT_MAX(231-1),小于最小值时返回INT_MIN(-231)

Python 代码如下:

class  Solution(object):
	def myAtoi(self,str):
		ls = str.strip()
		sign = ''
		temp = '0'
		if len(ls) == 0:
			return 0
		if ls[0] in ['+','-']:
			sign = ls[0]
			ls = ls[1:]
		for i in ls:
			if i.isdigit():
				temp += i
			else:
				break
		digit = int(sign + temp)
		int_max = 2**31-1
		int_min = -pow(2,31)
		if digit > int_max > 0:
			return int_max
		elif digit < int_min <0:
			return int_min
		else:
			return digit
			

测试代码:

print(Solution().myAtoi("4193 with words"))

此题目的理解含义借鉴博客: https://blog.csdn.net/hujingshuang/article/details/51188004

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值