Leetcode第九题,回文数,简单题。
我觉得他的难点在于没有告诉你给你的数是多少位数。
这让我很头疼,大家来看题目描述。
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
示例 1:
输入:x = 121 输出:true
示例 2:
输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。
这是我写的代码
class Solution(object):
def isPalindrome(self, x):
c = []
if x < 0:
return False
else:
b = str(x)
a = len(b)
for i in range(a-1,-1,-1):
e = x // 10**i
c.append(e)
x = (x % 10**i)
for i in range(0,a):
if c[i] != c[a-i-1]:
return False
return True
想了挺久,难点在于你不知道这个数的长度,需要一定数据处理能力
最后本人大二目前正在努力刷题和学习,如果有问题请大佬指正。写博客纯属为记录自己的学习,加深印象。也为了督促自己学习。谢谢大家!