Anagram คือการเรียงสลับทั้งหมดของสตริงหรือรูปแบบที่กำหนด อัลกอริทึมค้นหาแบบนี้แตกต่างออกไปเล็กน้อย ในกรณีนี้ ไม่ได้ค้นหาเฉพาะรูปแบบที่ตรงกัน แต่ค้นหาการจัดเรียงที่เป็นไปได้ทั้งหมดของรูปแบบที่กำหนดในข้อความ เช่นถ้าอินพุตคือ "ANAGRAM" และ "NAAGARM" พวกมันคือ anagram แต่ "cat" และ "fat" ไม่ใช่ anagram
ในการแก้ปัญหานี้ เราจะแปลงสตริงเป็นรายการตัวอักษร แล้วเรียงลำดับ ถ้ารายการที่เรียงแล้วทั้งสองเหมือนกัน แสดงว่าเป็น anagram
ตัวอย่าง (Python)
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