diff --git a/02-strings/02_AnagramCheck.java b/02-strings/02_AnagramCheck.java new file mode 100644 index 0000000..650b5c2 --- /dev/null +++ b/02-strings/02_AnagramCheck.java @@ -0,0 +1,34 @@ +// Problem: Anagram Check +// Author: Ataubl (codeByunique) + +import java.util.Arrays; + +class AnagramCheck { + public static void main(String[] args) { + String str1 = "listen"; + String str2 = "silent"; + + if (areAnagrams(str1, str2)) { + System.out.println(str1 + " and " + str2 + " are anagrams."); + } else { + System.out.println(str1 + " and " + str2 + " are not anagrams."); + } + } + + public static boolean areAnagrams(String s1, String s2) { + // Step 1: Remove whitespace & convert to lowercase + s1 = s1.replaceAll("\\s", "").toLowerCase(); + s2 = s2.replaceAll("\\s", "").toLowerCase(); + + // Step 2: If lengths differ, can't be anagrams + if (s1.length() != s2.length()) return false; + + // Step 3: Sort and compare + char[] arr1 = s1.toCharArray(); + char[] arr2 = s2.toCharArray(); + Arrays.sort(arr1); + Arrays.sort(arr2); + + return Arrays.equals(arr1, arr2); + } +} diff --git a/02-strings/README.md b/02-strings/README.md index e75fde4..8d09378 100644 --- a/02-strings/README.md +++ b/02-strings/README.md @@ -23,3 +23,24 @@ Use two pointers (start and end), and check if characters match while moving inw **Time Complexity:** O(n) **Space Complexity:** O(1) + +--- + +### 🔤 Anagram Check + +**Problem:** +Check whether two strings are anagrams of each other. + +**Input:** "listen", "silent" +**Output:** true +**Explanation:** Both have same letters in different order + +**Approach:** +- Clean the strings (remove spaces and convert to lowercase) +- Sort both strings +- Compare the sorted versions + +**Time Complexity:** O(n log n) +**Space Complexity:** O(n) + +---
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: