Leetcode 8. String to Integer (atoi) Python

题目: 8. String to Integer (atoi)
Leetcode 8. String to Integer (atoi) Python_第1张图片
此题目(将输入的字符串转换成整型数)需要注意的要点:

  • 字符串前面的空格需要清除。例 ‘   -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

你可能感兴趣的:(Leetcode 8. String to Integer (atoi) Python)