成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

ad6623 / 3213人閱讀

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

不使用任何額外變量判斷回文數(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完成,由于不能使用額外變量的限制,所以代碼可讀性有點(diǎn)差

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

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

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

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

代碼
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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38651.html

相關(guān)文章

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

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

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

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

    Scott 評(píng)論0 收藏0
  • leetcode 9 Palindrome Number

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

    darkbug 評(píng)論0 收藏0
  • js 判斷回文字符串

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

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

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

    peixn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<