LeetCode | Easy- 9. Palindrome Number | Python3

Description

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Example 1:

Input: 121
Output: true

Example 2:

Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

Example 3:

Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

Follow up:

Coud you solve it without converting the integer to a string?


Answer 1 - Beats 74.33%

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        return True if str(x) == str(x)[::-1] else False

Answer 2 - Without converting to strings - Beats 30.92%

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        if x < 0:
            return False
        elif x == 0:
            return True
        else:
            sums = digits = 0
            number = integer = x
        
            while integer > 0:
                digits += 1
                integer = integer // 10
                    
            while digits > 0:
                sums += (number%10) * 10**(digits-1)
                number= number //10
                digits -= 1
                
        print(sums)
        
        return True if x == sums else False


猜你喜欢

转载自blog.csdn.net/qq_41963758/article/details/80640081