检查字符串的后缀和前缀是否是 Python 中的回文

假设我们有一个字符串 s,我们必须检查字符串是否是回文作为它的前缀和后缀的子串。

因此,如果输入类似于 s = "levelishighforracecar",那么输出将为 True,因为分别有回文前缀和后缀:"level" 和 "racecar"。

为了解决这个问题,我们将按照以下步骤操作 -

  • l := s的大小

  • 对于 2 到 l + 2 范围内的 i,执行

    • 如果从索引 (l - i) 到 (l - 1) 的 s 子串是回文,则

    • 返回真

    • 返回错误

    • 从循环中出来

    • 如果 s 到索引 i 的子串是回文,则

    • 如果 i 与 (l + 1) 相同,则

    • 对于 2 到 l + 2 范围内的 i,执行

    • 返回错误

    让我们看看以下实现以获得更好的理解 -

    示例代码

    def is_palindrome(s):

       return s == s[::-1]  

     

    def solve(s):

       l = len(s)

       for i in range(2, l + 1):

          if is_palindrome(s[0:i]):

             break

         

       if i == (l + 1):

          return False

     

       for i in range(2, l + 1):

          if is_palindrome(s[l - i : l]):

             return True

         

       return False  

    s = "levelishighforracecar"

    print(solve(s))

    输入

    "levelishighforracecar"
    输出结果
    True

    以上是 检查字符串的后缀和前缀是否是 Python 中的回文 的全部内容, 来源链接: utcz.com/z/347614.html

    回到顶部