Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem có bất kỳ chữ cái đảo ngữ nào của chuỗi là palindrome hay không trong Python

Giả sử chúng ta có một chuỗi s. Chúng tôi phải kiểm tra xem một ký tự đảo ngữ của chuỗi đó có đang tạo thành palindrome hay không.

Vì vậy, nếu đầu vào là s =​​"aarcrec", thì đầu ra sẽ là True. Một ký tự đảo ngữ của chuỗi này là "racecar" là palindrome.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • freq:=một bản đồ để lưu trữ tất cả các ký tự và tần số của chúng
  • lẻ_cố_lượng:=0
  • đối với mỗi f trong danh sách tất cả các giá trị của freq, hãy thực hiện
    • nếu f lẻ, thì
      • retail_count:=retail_count + 1
  • nếu số_lượng lẻ> 1, thì
    • trả về Sai
  • trả về True

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

"aarcrec"

Đầu ra

True