leetcode刷題(python解題)-----9.迴文數

題目:

判斷一個整數是不是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是同樣的整數。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
相關文章
相關標籤/搜索