在Python中检查字符串的任何字谜是否回文

假设我们有一个字符串s。我们必须检查该字符串的字谜是否正在形成回文。

因此,如果输入像s =“ aarcrec”,则输出将为True。此字符串的一个字谜是“ racecar”,即回文。

为了解决这个问题,我们将遵循以下步骤-

  • freq:=一个存储所有字符及其频率的映射

  • 奇数:= 0

  • 对于频率所有值的列表中的每个f,执行

    • 奇数:=奇数+ 1

    • 如果f是奇数,则

    • 如果奇数> 1,则

      • 返回False

    • 返回True

    让我们看下面的实现以更好地理解-

    示例

    from collections import defaultdict
    def solve(s):
       freq = defaultdict(int)   for char in s:
          freq[char] += 1
       odd_count = 0
       for f in freq.values():
          if f % 2 == 1:
             odd_count += 1
       if odd_count > 1:
          return False
       return True
    s = "aarcrec"
    print(solve(s))

    输入值

    "aarcrec"
    输出结果
    True

    猜你喜欢