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

Follow up: Could you solve it without converting the integer to a string?

Example 1:

Input: x = 121
Output: true

Example 2:

Input: x = -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: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

Example 4:

Input: x = -101
Output: false

Constraints:
-2^{31} <= x <= 2^{31} - 1

Solution in python:

class Solution:
    def isPalindrome(self, x: int) -> bool:
        if x < 0:
            return False
        string = str(x)
        length = len(string)
        i, j = 0, length-1
        if length == 1:
            return True
        else:
            while i < j:
                if string[i] != string[j]:
                    return False
                else:
                    i, j = i + 1, j - 1
            return True
最后修改日期: 2020年10月15日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。