Leetcode解題(第9題)

2385 ワード

Leetcode解題(第9題)
整数が文数であるかどうかを判断します.回文数とは、正の順序(左から右へ)と逆の順序(右から左へ)が同じ整数です.
例1:
入力:121
出力:true
例2:
入力:-121
出力:false
左から右へ読みます.-121です.右から左に読むと121-.したがって、回文数ではありません.
例1:
入力:10
出力:false
右から左へ読むと01です.したがって、回文数ではありません.
解析:数値かどうかを判断するには、2つの部分、正数と負数の部分に分けることができます.負数は回文数ではありません.正数の必要はそれを「逆説」する.「逆説」の鍵は、数字の各人を取り出すことにある.まず10を取って、それから10を除いて、10を取って...各人を取り出すことができる.
コード(Python 3バージョン)
class Solution:
    def isPalindrome(self, x: int) -> bool:
        temp = x
        y = 0
        rem = 0
        if x < 0:
            return False
        else:
            while(temp!=0):
	            rem = temp%10
	            y = y*10+rem
	            temp = temp//10
            return y==x