国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

不使用任何額外變量判斷回文數(shù)字

ad6623 / 3181人閱讀

摘要:不使用任何額外變量判斷回文數(shù)字思路不能使用額外的變量,只能用參數(shù)完成,由于不能使用額外變量的限制,所以代碼可讀性有點差將轉(zhuǎn)成,利用求出整數(shù)的位數(shù),然后用字符串的切片來取得前后對稱部分,如為則為,的下標為利用切片可以快速字符串則為可以通過

不使用任何額外變量判斷回文數(shù)字 Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space.

Notes: any negative number is not palindrome.

Example 1:

Input: 1221
Output: True

Example 2:

Input: -1221
Output: False
思路

不能使用額外的變量,只能用參數(shù)x完成,由于不能使用額外變量的限制,所以代碼可讀性有點差

將int轉(zhuǎn)成str,利用len(str)求出整數(shù)的位數(shù),然后用str字符串的切片來取得前后對稱部分,如input為x = 1234len(str(x))為4,3的下標為len(str(x))//2

利用python切片可以快速reverse字符串, a = [1,2,3]a[::-1][3,2,1]

x = 1234可以通過判斷12是否等于43來得出是否是回文,根據(jù)上一點12可以用切片str(x)[ : len(str(x))//2]求得,43可以根據(jù)第4點用str(x)[len(str(x))//2 : ]求得

仍然可以分為奇回文和偶回文處理,參考閱讀尋找字符串中最長回文,12321以3為對稱中心,123321以33為對稱中心

代碼
class Solution(object):
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        if x < 0:
            return False
        if len(str(x)) % 2 == 0:
            return int(str(x)[ : len(str(x))//2]) == int(str(x)[len(str(x))//2 : ][ : :-1])
        else:
            return int(str(x)[ : len(str(x))//2+1]) == int(str(x)[len(str(x))//2 : ][ : :-1])

本題以及其它leetcode題目代碼github地址: github地址

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/38651.html

相關(guān)文章

  • Leetcode 9 Palindrome Number 回文數(shù)字判定

    摘要:難度本題要求判定一個整數(shù)是否為回文數(shù)字比如都是回文數(shù)字但是不是回文數(shù)字所有負數(shù)都不是回文數(shù)字本題還有一個關(guān)鍵要求不能使用額外空間我理解這里的額外空間是指堆空間在程序中不能去額外的什么變量更不用說提升空間復雜度直接上的解法解法 Determine whether an integer is a palindrome. Do this without extra space. Some ...

    ningwang 評論0 收藏0
  • 數(shù)據(jù)結(jié)構(gòu)-棧

    摘要:棧就是和列表類似的一種數(shù)據(jù)結(jié)構(gòu)它可以用來解決計算機世界里的很多問題棧是一種高效的數(shù)據(jù)結(jié)構(gòu)因為數(shù)據(jù)只能在棧頂添加或刪除所以這樣的操作很快而且容易實現(xiàn)棧的使用遍布程序語言的方方面面從表達式求值到處理函數(shù)調(diào)用棧的操作棧只能通過列表的一端訪問這一端 棧就是和列表類似的一種數(shù)據(jù)結(jié)構(gòu), 它可以用來解決計算機世界里的很多問題. 棧是一種高效的數(shù)據(jù)結(jié)構(gòu), 因為數(shù)據(jù)只能在棧頂添加或刪除, 所以這樣的操作...

    Scott 評論0 收藏0
  • leetcode 9 Palindrome Number

    摘要:有一點需要注意的是,負數(shù)不算作回文數(shù)。而第題當時的方法是,對整數(shù)取除的余數(shù),即是當前整數(shù)的最后一位。那么它翻轉(zhuǎn)后一半的數(shù)字之后,應該和前半段的數(shù)字相等,我們將采用這種思路進行解題。 題目詳情 Determine whether an integer is a palindrome. Do this without extra space.題目要求我們在不占用額外空間的前提下,判斷一個整...

    darkbug 評論0 收藏0
  • js 判斷回文字符串

    摘要:問題描述判斷給定的字符串,如果字符串是一個,那么返回,反之返回。第一次不同可允許第一次發(fā)現(xiàn)不同時,讓右邊或左邊判斷相不相等這時候若相等可繼續(xù)否則直接返回結(jié)果判斷字符回文 回文( Palindromes ),在中文文當中是指倒著念和順著念都是相同的,前后對稱,例如上海自來水來自海上;在英文文當中是指正著看和反著看都相同的單詞,例如madam;而對于數(shù)字,又稱之為回文數(shù),是指一個像1646...

    zhkai 評論0 收藏0
  • 【前端數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)】棧

    摘要:前言棧是一種高效的數(shù)據(jù)結(jié)構(gòu),因為數(shù)據(jù)只能在棧頂添加或刪除,所以這樣的操作很快且很容易實現(xiàn)。棧被稱為一種后入先出,的數(shù)據(jù)結(jié)構(gòu)。二構(gòu)造棧數(shù)據(jù)結(jié)構(gòu)我們將使用實現(xiàn)棧結(jié)構(gòu),各部分功能使用注釋說明。參考資料數(shù)據(jù)結(jié)構(gòu)與算法描述第章棧 前言 棧是一種高效的數(shù)據(jù)結(jié)構(gòu),因為數(shù)據(jù)只能在棧頂添加或刪除,所以這樣的操作很快且很容易實現(xiàn)。 一、什么是棧 棧是一種特殊的列表,棧內(nèi)的元素只能通過列表的一端訪問,這一端...

    peixn 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<