假设我们有一个字符串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