Simple Solution using Hash map . Easy to understand for Beginners . Beats about 99 % .
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n![Screenshot from 2023-08-07 07-01-17.png](https://assets.leetcode.com/users/images/7258eb3a-f009-4df7-a514-c0ecc1501da6_1691373718.0283215.png)\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution:\n    def maximumNumberOfStringPairs(self, words: List[str]) -> int:\n        from collections import defaultdict\n        dict_ = defaultdict(int)\n        for i,word in enumerate(words):\n            dict_[word[::-1]] = i\n        pairs = 0\n        extra = []\n        for i,element in enumerate(words):\n            if element in dict_ and dict_[element] != i and element not in extra:\n                pairs += 1\n                extra.append(element[::-1])\n            else:\n                continue\n        return pairs\n```
['Python3']