在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