原题:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
分析:
将整数转化为字符串,并从头从尾比较是否符合回文数
代码:
def isPalindrome(self, x: int) -> bool:
x = str(x)
i = len(x)
h = 0
for j in range(0,i):
if x[j]!=x[i-j-1]:
break
h = h+1
if h==i:
return 1
else:
return 0
self = 0
print(isPalindrome(self,-121))
效果:
对于不同转为字符串的情况,我们分别比较整数各位是否对应即可
def isPalindrome(self, x: int) -> bool:
y=x
i = 0
s = 0
n=[]
if x<0:
return 0
while x!=0:
x = int(x/10)
i = i+1
for j in range(0,i):
n.append(int(y/(10**j))%10)
for t in range(0,len(n)):
if n[t]!=n[len(n)-t-1]:
break
s = s+1
if s==i:
return 1
else:
return 0
self = 0
print(isPalindrome(self,112211))
效果