判斷一個整數是不是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是同樣的整數。python
示例 1:網絡
輸入: 121 輸出: true
示例 2:code
輸入: -121 輸出: false
解釋: 從左向右讀, 爲 -121 。 從右向左讀, 爲 121- 。所以它不是一個迴文數。leetcode
示例 3:字符串
輸入: 10 輸出: false
解釋: 從右向左讀, 爲 01 。所以它不是一個迴文數。
進階:get
你能不將整數轉爲字符串來解決這個問題嗎?io
來源:力扣(LeetCode)
連接:https://leetcode-cn.com/probl...
著做權歸領釦網絡全部。商業轉載請聯繫官方受權,非商業轉載請註明出處。class
通常方法:能夠經過一個字符串簡單的切片的使用來實現object
class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ if x<0: return False b = int(str(x)[::-1]) if b == x: return True return False
進階方法:不轉換爲字符串進階
咱們能夠將數倒過來,而後將其判斷相等
def isPalindrome(self, x): """ :type x: int :rtype: bool """ if x<0: return False b = x a = 0 while(x>=10): a = a*10 +x %10 #最後一位 x = x // 10 a = a*10 +x %10 if a == b: return True