回文序列—Palindrome

1. 生成回文序列——对于输入的整数或字符串,生成一个它的回文,长度是输入的2倍

>>> s = input()
abcde
>>> print(s + ''.join(reversed(s)))
abcdeedcba

2. 判断回文序列——使用循环

class Solution(object):
    def sum1(self, n):
        pal = str(n)
        size = len(pal)
        j = size - 1
        i = 0
        while i < j:
            if pal[i] == pal[j]:
                i += 1
                j -= 1
            else:
                return False
        return True
if __name__ == "__main__":
    s = Solution()
    print(s.sum1(n = '12'))

3. 判断回文序列——不使用循环

 1)使用双端队列

def palindrome():
    from collections import deque
    dq = deque(word)
    while len(dq) > 1:
        if dq.popleft() != dq.pop():
            return False
    return True

2)利用反向切片

>>> pal = "madam"
>>> is_palindrome = int(pal==pal[::-1])
>>> print(is_palindrome)
1
原文地址:https://www.cnblogs.com/llw1121/p/6895919.html