1. 程式人生 > >Leetcode-9 迴文數 python3

Leetcode-9 迴文數 python3

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

示例1:

輸入:121

輸出:true

示例2:

輸入:-121

輸出:false

解釋:從左向右讀,為-121。從右向左讀,為121-。因此它不是一個迴文數。

示例3:

輸入:10

輸出:false

解釋:從右向左讀,為01。因此它不是一個迴文數

 strx = str(x)
        k = int(len(strx) / 2)
        if int(len(strx) % 2) != 0:
            if strx[:k] == strx[len(strx)-1:k:-1]:
                print(True)
            else:
                print(False)

        else:
            if strx[:k] == strx[len(strx)-1:k-1:-1]:
                print(True)
            else:
                print(False)

寫完之後想扇死自己了,寫的什麼鬼,後來改正了:

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

後來看到了進階的小字:你能不將整數轉為字串來解決這個問題嗎?

好吧,那再寫一下:

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

之後想了一下,還可以一個一個的去判斷,就是第一個位和最後一位比較,之類的:

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        if x < 0:
            return (False)

        len = 1
        while int(x / len) >= 10:
            len = int(len * 10)

        while x > 0:
            l = int(x / len)
            r = int(x % 10)

            if l != r:
                return (False)

            else:
                x = int((x % len) / 10)
                len = int(len / 100)

        return (True)

相關推薦

Leetcode 9.(Python3)

9.迴文數 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。

Leetcode-9 python3

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例1: 輸入:121 輸出:true 示例2: 輸入:-121 輸出:false 解釋:從左向右讀,為-121。從右向左讀,為121-。因此它不是一個迴文數。

leetcode 9. (java)

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴

[LeetCode]9

 題目描述 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文

LeetCode 9.

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。

LeetCode 9. Palindrome Number(C語言)

題目描述: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左

LeetCode 9 (Palindrome Number) —— 得到整形的位數及尾數

這裡使用一種較笨的方法,適合初學者理解。 主要的過程就是用取餘操作得到最後一位,用除法操作得到一共有幾位。具體程式如下: class Solution { public: bool isPalindrome(int x) {

LeetCode 9.(Java)

題目描述: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。

leetcode-9.(水仙花

leetcode-9.迴文數(水仙花數) 題意:給定整數,判斷是否是水仙花數(迴文數),返回判斷結果 演算法: 1.判斷負數, 如果是負數直接返回false 2.將整數逐位拆解,用陣列儲存 3.遍歷陣列,若本位與後面對應位不等返回false. Code 1 class Solution

LeetCode 9

題目要求: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121-

LeetCode】#9(Palindrome Number)

【LeetCode】#9迴文數(Palindrome Number) 題目描述 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: fals

LeetCode題目詳解-9

9.迴文數 題目: 判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為

LeetCode :C語言 9.

迴文數簡而言之就是對稱的數(負數按題目要求不是),因為上一個題目是反轉整數很自然的就想到了直接反轉之後判斷。 bool isPalindrome(int x) { int out = 0,in = x; int temp; if(x<0)

LeetCode(No.9)--

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。

LeetCode Golang 9.

9. 迴文數 第一種辦法 :itoa 轉換為字串進行處理: package main import ( "strconv" "fmt" ) //判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 // //示例 1: // //輸入

LeetCode9. 結題報告 (C++)

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。示例 1:輸入: 121 輸出: true 示例 2:輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。 示例 3:輸入: 10 輸出: fa

LeetCode9.

題目描述:     判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 演算法思想:轉換為字串,字串再轉置,判斷兩個字串是否相等 class Solution { public boolean isPalindrome(in

9,

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴

LeetCode

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴

【每日leetcode

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解