回文序列—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