检查给定字符串在 Python 中是否是回文串或圆形排列的程序


假设我们有一个字符串 s,我们必须检查 s 的任意排列是否是回文串。

因此,如果输入类似 s = "admma",则输出将为 True,因为我们可以将 "admma" 重新排列为 "madam",这是一个回文串。

要解决此问题,我们将遵循以下步骤 -

  • c := 一个映射,保存 s 的每个单独字符计数
  • count := 0
  • 对于 c 的所有值的列表中的每个 i,执行
    • 如果 i 为奇数,则
      • 如果 count 与 0 相同,则
        • count := count + 1
        • 从循环中退出
      • 返回 False
  • 返回 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

更新日期: 2020 年 10 月 20 日

472 次观看

开启您的 职业

完成课程即可获得认证

立即开始
广告