Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình kiểm tra chuỗi có phải anagram của palindrome không bằng Python


Cho chuỗi s, kiểm tra xem có hoán vị nào của s là palindrome hay không.

Ví dụ: s = "admma" → True (hoán vị thành "madam").

Quy trình giải quyết

  1. Đếm tần suất mỗi ký tự bằng Counter.
  2. Đếm số ký tự có tần suất lẻ (count).
  3. Nếu count > 1, trả về False.
  4. Ngược lại trả về True.

Ví dụ mã nguồn

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))  # Output: True

Đầu vào

"admma"

Đầu ra

True