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,^_^,就提前发了