String to Integer (atoi)
import re
class Solution(object):
def myAtoi(self, str):
INT_MAX=2147483647
INT_MIN=-2147483648
temp=0
if str=='':
return 0
s1=re.search(r'[+|-]+\d+',str)
if s1==None:
return 0
s1=s1.group()
if s1[0]=='-' or s1[0]=='+':
if s1[1]=='-' or s1[1]=='+':
return 0
if s1[0]=='-':
temp=1
s1=s1[1:]
if s1=='':
return 0
s1=int(s1)
if temp==0:
return s1 if s1<=INT_MAX else INT_MAX
elif temp==1:
return -s1 if -s1>=INT_MIN else INT_MIN
正确答案:
import re
class Solution(object):
def myAtoi(self, str):
INT_MAX=2147483647
INT_MIN=-2147483648
str=str.strip()
str=re.findall('(^[\+\-0]*\d+)\D*',str)
try:
result=int(''.join(str))
if result>INT_MAX>0:
return INT_MAX
elif result<INT_MIN<0:
return INT_MIN
else:
return result
except:
return 0
Palindrome Number
class Solution(object):
def isPalindrome(self, x):
s=str(x)
s1=s[::-1]
if s==s1:
return True
else:
return False
负数不是回文