题目:
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是(负数也不是)。
解题思路:
首先判断整数正负,如果是正数则继续判断
再把正数进行倒序,判断是否与原序相等(求反转数,具体思路在Day2中)
def Solution(x:int):
inverse_x = 0
if x > 0 :
for i in range(30):
if x//(10**i) != 0 :
y = i+1
bit_list = []
for i in range(y):
bit = (x // (10 ** i)) % 10
bit_list.append(bit)
for bit in range(len(bit_list)):
inverse_x+= bit_list[bit] * (10 ** (len(bit_list) - bit - 1))
if inverse_x == x:
print(True)
return True
else:
print(False)
return False
if x<0:
print(False)
return False
if x==0:
return True
解题总结:
运行时间: 260 ms,在所有 Python3 提交中击败了5.42%的用户
运行内存:15 MB,在所有 Python3 提交中击败了5.01%的用户
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/roman-to-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。