एनाग्राम मूल रूप से किसी दिए गए स्ट्रिंग या पैटर्न के सभी क्रमपरिवर्तन हैं। यह पैटर्न खोज एल्गोरिदम थोड़ा अलग है। इस मामले में, न केवल सटीक पैटर्न खोजा जाता है, यह टेक्स्ट में दिए गए पैटर्न के सभी संभावित व्यवस्थाओं को खोजता है। यदि इनपुट "ANAGRAM" और "NAAGARM" हैं, तो वे एनाग्राम हैं, लेकिन "cat" और "fat" एनाग्राम नहीं हैं।
इसे हल करने के लिए, हम स्ट्रिंग को वर्णों की सूची में बदल देंगे, फिर उन्हें क्रमबद्ध करेंगे, यदि दो क्रमबद्ध सूचियां समान हैं तो वे एनाग्राम हैं।
उदाहरण (पायथन)
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
return "".join(sorted(s)) == "".join(sorted(t))
ob1 = Solution()
print(ob1.isAnagram("ANAGRAM","NAAGARM"))
इनपुट
s = "ANAGRAM" t = "NAAGARM"
आउटपुट
true