LeetCode題庫第九題(簡單系列)



判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。

示例 1:

輸入: 121
輸出: true

示例 2:

輸入: -121
輸出: false
解釋: 從左向右讀, 爲 -121 。 從右向左讀, 爲 121- 。因此它不是一個迴文數。

示例 3:

輸入: 10
輸出: false
解釋: 從右向左讀, 爲 01 。因此它不是一個迴文數。

進階:

你能不將整數轉爲字符串來解決這個問題嗎?

1.數字轉化爲字符串方法

以下是我的代碼,通過了,但是有點不開心,因爲題目要求的是true,我以爲應該是return true,然後運行錯了,return True,我以爲運行之後會返回的是True,後來在網上搜索了一下,才知道,return True是返回的true,敲打,不過也算是又知道了一個知識了。

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        a = str(x)
        if a == a[::-1]:            
            return True
        else:           
            return False

2.不將數字轉化成字符串方法

因爲s==sum是true,所以不需要再特地添加true了

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        s=x
        sum=0
        if x < 0:
            return False
        else:
            while x:
                sum=sum*10+x%10
                x=x//10
            return s==sum

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章