检查给定字符串在 Python 中是否是回文串或圆形排列的程序
假设我们有一个字符串 s,我们必须检查 s 的任意排列是否是回文串。
因此,如果输入类似 s = "admma",则输出将为 True,因为我们可以将 "admma" 重新排列为 "madam",这是一个回文串。
要解决此问题,我们将遵循以下步骤 -
- c := 一个映射,保存 s 的每个单独字符计数
- count := 0
- 对于 c 的所有值的列表中的每个 i,执行
- 如果 i 为奇数,则
- 如果 count 与 0 相同,则
- count := count + 1
- 从循环中退出
- 返回 False
- 如果 count 与 0 相同,则
- 如果 i 为奇数,则
- 返回 True
让我们看看以下实现以便更好地理解 -
示例
from collections import Counter class Solution: def solve(self, s): c = Counter(s) count = 0 for i in c.values(): if i % 2 != 0: if count == 0: count += 1 continue return False return True ob = Solution() s = "admma" print(ob.solve(s))
输入
"admma"
输出
True
广告