Lintcode 54. String to Integer (atoi) (Medium) (Python).md
阿新 • • 發佈:2018-12-12
String to Integer (atoi)
Description:
Implement function atoi to convert a string to an integer.
If no valid conversion could be performed, a zero value is returned.
If the correct value is out of the range of representable values, INT_MAX (2147483647) or INT_MIN (-2147483648) is returned.
Example “10” => 10 “-1” => -1 “123123123123123” => 2147483647 “1.0” => 1
Code:
class Solution:
"""
@param str: A string
@return: An integer
"""
def atoi(self, str):
# write your code here
if not str:
return 0
res = 0
st = 0
sign = 1
for i in range(len(str)):
if str[i]!=' ':
str = str[i:]
break
if str[0]=='+':
st += 1
elif str[0]=='-':
st += 1
sign = -1
for i in range(st, len(str)):
if str[i]<'0' or str[i]>'9':
break
else:
res *= 10
res += int(str[i])
res *= sign
if res>2147483647:
return 2147483647
if res<-2147483648:
return -2147483648
return res