एनाग्राम चेक करने का एल्गोरिदम
एनाग्राम में, दूसरी स्ट्रिंग में पहली स्ट्रिंग के समान ही कैरेक्टर्स होते हैं, लेकिन उनका क्रम अलग हो सकता है। उदाहरण: "silent" और "listen"।
चरण:
- दोनों स्ट्रिंग्स को लोअरकेस में कनवर्ट करें और कैरेक्टर ऐरे में बदलें
- दोनों ऐरे को सॉर्ट करें
- सॉर्टेड ऐरे को वापस स्ट्रिंग में कनवर्ट करें
- दोनों स्ट्रिंग्स की तुलना करें - यदि समान हैं तो एनाग्राम हैं
कोड:
string str1 = "silent";
string str2 = "listen";
char[] ch1 = str1.ToLower().ToCharArray();
char[] ch2 = str2.ToLower().ToCharArray();
Array.Sort(ch1);
Array.Sort(ch2);
string val1 = new string(ch1);
string val2 = new string(ch2);
if (val1 == val2) {
Console.WriteLine("Both the strings are Anagrams");
} else {
Console.WriteLine("Both the strings are not Anagrams");
}
पूर्ण कोड उदाहरण
using System;
public class Demo {
public static void Main() {
string str1 = "silent";
string str2 = "listen";
char[] ch1 = str1.ToLower().ToCharArray();
char[] ch2 = str2.ToLower().ToCharArray();
Array.Sort(ch1);
Array.Sort(ch2);
string val1 = new string(ch1);
string val2 = new string(ch2);
if (val1 == val2) {
Console.WriteLine("Both the strings are Anagrams");
} else {
Console.WriteLine("Both the strings are not Anagrams");
}
}
}
आउटपुट
Both the strings are Anagrams
अतिरिक्त नोट: यह मेथड केस-इनसेंसिटिव है क्योंकि हम ToLower() का उपयोग करते हैं। स्पेस और विशेष कैरेक्टर्स भी इसमें शामिल होते हैं।