[Python 으로 푸는 Leetcode]9. Palindrome Number

느린 개발자·2020년 12월 15일
0

Coding Test

목록 보기
7/21

📌Problem

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:

  • 231-2^{31} <= x <= 2312^{31} - 1

leetcode 에서 풀기


📝Solution

class Solution:
    def isPalindrome(self, x: int) -> bool:
        ret=None
        
        if x < 0:
            ret=False
        else:
            original=x
            reverse=0
            while x:
                remainder=x%10
                x=x//10
                reverse=reverse*10+remainder

            if reverse == original:            
                ret=True
            else:
                ret=False
        
        return ret
  • Time complexity : O(N)O(N)

  • x=12 , reverse=0

    quotientremainderreverse
    120*10+2=2
    012*10+1=21
profile
남들보단 느리지만, 끝을 향해

0개의 댓글