码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 9 -- Palindrome Number

时间:2015-05-28 09:37:01      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:python   integer   

Palindrome Number

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


题意:
判断一个整数是否是回文的,要求不使用额外的空间


思路:
<1简单起见我用的python,先判断是否为0,或者负数,若不是则转化为字符串,然后利用切片截取两段,反转其中一个比较是否相等即可。
顺便提下切片真的非常好用^_^。
<2.可以不断的求余,然后并对余数*10相加,最后比较即可,比如数字123321,第一次求余12332和1,第二次1233和1*10+2 = 12,第三次为123和12*10+3 = 123。


代码:

class Solution:
    # @param {integer} x
    # @return {boolean}
    def isPalindrome(self, x):
        if x < 0:
            return False
        if x == 0:
            return True
        x = str(x)
        mid = len(x)/2
        if len(x)%2 == 0:
            return x[:mid][::-1] == x[mid:]
        else:
            return x[:mid][::-1] == x[mid+1:]

虽然今天已经做了一道,但是这个比较简单,且我是第一次一次性AC,^_^,就提前发了

leetcode 9 -- Palindrome Number

标签:python   integer   

原文地址:http://blog.csdn.net/wwh578867817/article/details/46057225

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!