您的位置:首页 > 编程语言 > Python开发

leetcode--回文数--python

2019-04-12 13:39 295 查看

文章目录

  • 解题代码
  • 体会
  • 题目

    题目详情

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

    示例

    输入: 121
    输出: true
    输入: -121
    输出: false
    解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
    输入: 10
    输出: false
    解释: 从右向左读, 为 01 。因此它不是一个回文数。

    解题代码

    代码

    class Solution:
    def isPalindrome(self,x):
    if x < 0:
    return False
    x = str(x)
    new_x = x[::-1]    #倒置字符串
    if new_x == x:
    return True
    return False

    运行结果

    体会

    这个题目比较简单,跟上一个题目整数反转利用的同一个思想,我看了最优时间的一个解法是这样的:

    class Solution:
    def isPalindrome(self, x: 'int') -> 'bool':
    if (x<0) or(x%10==0 and x!=0): return False
    a = x
    revx = 0
    while x:
    left = x%10
    revx = 10*revx+left
    x=x//10
    return True if revx==a else False
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: