资讯专栏INFORMATION COLUMN

不使用任何额外变量判断回文数字

ad6623 / 3121人阅读

摘要:不使用任何额外变量判断回文数字思路不能使用额外的变量,只能用参数完成,由于不能使用额外变量的限制,所以代码可读性有点差将转成,利用求出整数的位数,然后用字符串的切片来取得前后对称部分,如为则为,的下标为利用切片可以快速字符串则为可以通过

不使用任何额外变量判断回文数字 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
思路

不能使用额外的变量,只能用参数x完成,由于不能使用额外变量的限制,所以代码可读性有点差

将int转成str,利用len(str)求出整数的位数,然后用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来得出是否是回文,根据上一点12可以用切片str(x)[ : len(str(x))//2]求得,43可以根据第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地址

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38651.html

相关文章

  • Leetcode 9 Palindrome Number 回文数字判定

    摘要:难度本题要求判定一个整数是否为回文数字比如都是回文数字但是不是回文数字所有负数都不是回文数字本题还有一个关键要求不能使用额外空间我理解这里的额外空间是指堆空间在程序中不能去额外的什么变量更不用说提升空间复杂度直接上的解法解法 Determine whether an integer is a palindrome. Do this without extra space. Some ...

    ningwang 评论0 收藏0
  • 数据结构-栈

    摘要:栈就是和列表类似的一种数据结构它可以用来解决计算机世界里的很多问题栈是一种高效的数据结构因为数据只能在栈顶添加或删除所以这样的操作很快而且容易实现栈的使用遍布程序语言的方方面面从表达式求值到处理函数调用栈的操作栈只能通过列表的一端访问这一端 栈就是和列表类似的一种数据结构, 它可以用来解决计算机世界里的很多问题. 栈是一种高效的数据结构, 因为数据只能在栈顶添加或删除, 所以这样的操作...

    Scott 评论0 收藏0
  • leetcode 9 Palindrome Number

    摘要:有一点需要注意的是,负数不算作回文数。而第题当时的方法是,对整数取除的余数,即是当前整数的最后一位。那么它翻转后一半的数字之后,应该和前半段的数字相等,我们将采用这种思路进行解题。 题目详情 Determine whether an integer is a palindrome. Do this without extra space.题目要求我们在不占用额外空间的前提下,判断一个整...

    darkbug 评论0 收藏0
  • js 判断回文字符串

    摘要:问题描述判断给定的字符串,如果字符串是一个,那么返回,反之返回。第一次不同可允许第一次发现不同时,让右边或左边判断相不相等这时候若相等可继续否则直接返回结果判断字符回文 回文( Palindromes ),在中文文当中是指倒着念和顺着念都是相同的,前后对称,例如上海自来水来自海上;在英文文当中是指正着看和反着看都相同的单词,例如madam;而对于数字,又称之为回文数,是指一个像1646...

    zhkai 评论0 收藏0
  • 【前端数据结构基础】栈

    摘要:前言栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快且很容易实现。栈被称为一种后入先出,的数据结构。二构造栈数据结构我们将使用实现栈结构,各部分功能使用注释说明。参考资料数据结构与算法描述第章栈 前言 栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快且很容易实现。 一、什么是栈 栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端...

    peixn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<