1. 程式人生 > >Lintcode 54. String to Integer (atoi) (Medium) (Python).md

Lintcode 54. String to Integer (atoi) (Medium) (Python).md

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