Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 59

Anagram Check

Anagram क्या है

दो शब्द anagrams हैं अगर वे बिल्कुल वही अक्षर इस्तेमाल करें, बस अलग क्रम में — जैसे listen और silent। Java में anagrams जाँचना classic string अभ्यास है, और दो साफ़ तरीके हैं: sorting और characters गिनना।

💡 Anagrams वही अक्षर उतनी ही बार रखते हैं, सिर्फ़ फिर से व्यवस्थित।

Sorting तरीका

import java.util.Arrays;

String a = "listen", b = "silent";
char[] x = a.toCharArray();
char[] y = b.toCharArray();
Arrays.sort(x);
Arrays.sort(y);
System.out.println(Arrays.equals(x, y));
true

हम हर string को char array में बदलते हैं, दोनों sort करते हैं, और तुलना करते हैं। अगर वे anagrams हैं, sorting उन्हें एक जैसा बना देती है — Arrays.equals फिर true return करता है।

Dry run

Dry Run — "listen" aur "silent" anagram hain? (dono sort karo)
StepKyaValue
1"listen" ke charsl i s t e n
2sortede i l n s t
3"silent" ke charss i l e n t
4sortede i l n s t
5sorted arrays comparee i l n s t == e i l n s t → Anagram!
💡 ऐसे समझिए

Anagrams वही अक्षर इस्तेमाल करते हैं, तो दोनों sort होने पर एक जैसे हो जाते हैं। sorted रूपों की तुलना तेज़, भरोसेमंद जाँच है।

Counting तरीका

String a = "listen", b = "silent";
if (a.length() != b.length()) {
    System.out.println("Not anagram");
} else {
    int[] count = new int[26];
    for (char c : a.toCharArray()) count[c - 'a']++;
    for (char c : b.toCharArray()) count[c - 'a']--;
    boolean anagram = true;
    for (int n : count) if (n != 0) anagram = false;
    System.out.println(anagram);
}
true

हम पहले शब्द के अक्षर जोड़ते हैं और दूसरे के घटाते हैं। अगर हर count 0 पर ख़त्म हो, दोनों शब्दों ने वही अक्षर इस्तेमाल किए — वे anagrams हैं। यह sorting बचाता है।

Input साफ़ करना

असली जाँच को, पहले case और spaces अनदेखा कीजिए:

a = a.toLowerCase().replaceAll("\\s", "");
b = b.toLowerCase().replaceAll("\\s", "");

यह "Listen" और "Silent", या "conversation" और "voices rant on" जैसे phrase anagrams को case और spacing चाहे जो हो सही तुलना करने देता है।

आम गलतियाँ

  • Lengths न जाँचना। अलग lengths कभी anagrams नहीं हो सकते — पहले जाँचिए।
  • Case और spaces अनदेखा करना। वाक्यांशों को lowercase और spaces हटाइए।
  • Arrays को == से तुलना। Arrays.equals इस्तेमाल कीजिए, == नहीं।
  • Counting में सिर्फ़ lowercase अक्षर मानना। c - 'a' trick सिर्फ़ a-z मानता है।

सारांश

  • Anagrams वही अक्षर अलग क्रम में इस्तेमाल करते हैं।
  • Sorting तरीका: दोनों char arrays sort करके Arrays.equals से तुलना।
  • Counting तरीका: एक से अक्षर जोड़िए, दूसरे से घटाइए, सब zero जाँचिए।
  • Phrase anagrams को lowercase और spaces हटाइए।
  • अलग lengths मतलब anagrams नहीं।

आगे, text reverse कीजिए reverse a string में, या sort कीजिए bubble sort से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

Anagram क्या है?
दो शब्द anagrams हैं अगर उनमें बिल्कुल वही अक्षर अलग क्रम में हों। जैसे "listen" और "silent" anagrams हैं। जाँचने में पक्का करना शामिल है कि दोनों शब्द वही अक्षर उतनी ही बार इस्तेमाल करें।
Java में दो strings anagrams हैं या नहीं कैसे जाँचूँ?
सबसे सरल तरीका दोनों strings के characters sort करके तुलना करना है — sorted रूप बराबर हों तो anagrams हैं। दूसरा तरीका दोनों में हर character गिनकर counts तुलना करना है।
Anagrams को sorting तरीका क्या है?
हर string को char array में बदलिए, दोनों arrays sort कीजिए, और तुलना कीजिए। Anagrams sort होने पर एक जैसे हो जाते हैं, क्योंकि उनमें वही अक्षर हैं। यह छोटा और समझने में आसान है।
Character-count तरीका क्या है?
गिनिए दोनों strings में हर character कितनी बार आता है, फिर counts तुलना कीजिए। अगर हर character दोनों में उतनी ही बार आए, वे anagrams हैं। यह sorting बचाता है।
Anagrams जाँचते समय case और spaces अनदेखा करूँ?
अक्सर हाँ। वाक्यांशों को, पहले दोनों lowercase में बदलिए और spaces हटाइए, ताकि "Listen" और "Silent" या "conversation" और "voices rant on" सही तुलना हों। सरल शब्दों को, सीधी जाँच ठीक है।
← Back to Java Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicRemove Duplicates आपकी प्रगति: 59 / 61 (97%) · Lesson 60 / 61 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें