“回文数”用python实现的四种方法

回文数就是指整数倒过来和原整数相等。

Example 1:

Input: 121
Output: true
Example 2:

Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:

Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

1:整数转字符串,通过下标对比确定该整数是否为回文数

str_x = str(x)
for i in range(0,int(len(str_x)/2)):
    if str_x[i] != str_x[-i-1]:
        return False
return True

2:字符串切片操作,str[index:index:step],中括号里面分别为:字符起点、终点和步长

str_x = str(x)
return str_x == str_x[::-1]

3:数学计算的方法,对比反转整数的值

if x<0:
    return False
temp_x = x;
palindromeNum = 0
while temp_x != 0:
    palindromeNum = palindromeNum*10 + temp_x%10
    temp_x /= 10
return palindromeNum == x

4:整数转字符串,反转字符串,对比反转后字符串与原字符串是否相等

str_x = str(x)
str_y = ""
for i in str_x:
    str_y = i + str_y
return str_y == str_x

算法题来自:https://leetcode-cn.com/problems/palindrome-number/description/

猜你喜欢

转载自blog.csdn.net/qiubingcsdn/article/details/81773168