Program to check given string is anagram of palindromic or not in Python


Suppose we have a string s, we have to check whether any permutation of s is a palindrome or not.

So, if the input is like s = "admma", then the output will be True, as we can rearrange "admma" to "madam" which is a palindrome.

To solve this, we will follow these steps −

  • c := a map holding each individual character count of s
  • count := 0
  • for each i in list of all values of c, do
    • if i is odd, then
      • if count is same as 0, then
        • count := count + 1
        • come out from the loop
      • return False
  • return True

Let us see the following implementation to get better understanding −

Example

 Live Demo

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

Input

"admma"

Output

True

Updated on: 20-Oct-2020

298 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements