回文字符
Given an integer x, return true if x is palindrome integer.
An integer is a palindrome when it reads the same backward as forward.
For example, 121 is a palindrome while 123 is not.
例如:
12321输出 T r u e True True
23221输出 F a l s e False False
注意:
(1)当输入 x x x为负数时,输出为 F a l s e False False
思路:
如果 x x x为负数,则输出 F a l s e False False
获取第一个数字和最后一个数字进行对比,如果不同,则输出
F
a
l
s
e
False
False;如果相同,则从外往里取两端数字,继续对比直达没有数字(偶数位)或剩下一个数字(奇数位)
如果对比都相同,则最后输出True
注意:
如果利用 i n t int int型的 x x x获取前后两端时,要考虑减去之前两端数字。
如果使用字符串的话会便捷很多,字符串可以看成一个数组,取两端字符进行对比即可。
def isPalindrome(x):
"""
:type x: int
:rtype: bool
"""
if x < 0:#当输入$x$为负数时,输出为False
return False
else:
a = len(str(x))#字符长度
x_str = str(x)#整数转为字符 数组位从0开始
b = int(a/2)#只需一半的长度进行对比,偶数位直接一半,奇数位中间不需要对比
for i in range(b):
if x_str[i] != x_str[a-i-1]:
return False
return True