算法——回文(palindrome)

Posted noonjuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法——回文(palindrome)相关的知识,希望对你有一定的参考价值。

# 10-palindrome.py

import string

def is_palindrome(text: str) -> bool:
    是否为回文
    # 1、先去除标点符号以及空格,并将所有字母小写化
    result = ‘‘
    for i in range(len(text)):
        if not text[i] in string.punctuation +  :    
            result += text[i].lower()
    print(result)

    # 2、判断是否为回文
    n = len(result)
    for i in range(len(result) // 2):
        if result[i] != result[n-i-1]:
            return False
    return True


if __name__ == __main__:
    print(is_palindrome(I prefer pi.))
    print(is_palindrome(A man, a plan, a canal: Panama.))
    print(is_palindrome(Resistance is futile!))
    

 

以上是关于算法——回文(palindrome)的主要内容,如果未能解决你的问题,请参考以下文章

算法:680. Valid Palindrome II验证回文||

算法: 验证回文680. Valid Palindrome II

算法最长回文子串 longest palindrome substring

HDU - 5340 Three Palindromes(manacher算法)

FCC JS基础算法题:Check for Palindromes(检查回文字符串)

Leetcode 5. Longest Palindromic Substring(最长回文子串, Manacher算法)