Check for Anagram
Tue Feb 08 2022 10:39:34 GMT+0000 (Coordinated Universal Time)
Saved by
@Uttam
#java
#gfg
#geeksforgeeks
#lecture
#string
#anagram
// Efficient : Time Complexity : O(n)
import java.util.*;
import java.io.*;
class GFG {
static final int CHAR=256;
static boolean areAnagram(String s1, String s2)
{
if (s1.length() != s2.length())
return false;
int[] count=new int[CHAR];
for(int i=0;i<s1.length();i++){
count[s1.charAt(i)]++;
count[s2.charAt(i)]--;
}
for(int i=0;i<CHAR;i++){
if(count[i]!=0)return false;
}
return true;
}
public static void main(String args[])
{
String str1 = "abaac";
String str2 = "aacba";
if (areAnagram(str1, str2))
System.out.println("The two strings are" + " anagram of each other");
else
System.out.println("The two strings are not" + " anagram of each other");
}
}
// Naive : Time Complexity : Θ(nlogn)
static boolean areAnagram(String s1, String s2)
{
if (s1.length() != s2.length())
return false;
char a1[]=s1.toCharArray();
Arrays.sort(a1);
s1=new String(a1);
char a2[]=s2.toCharArray();
Arrays.sort(a2);
s2=new String(a2);
return s1.equals(s2);
}
content_copyCOPY
Check whether two strings are anagram of each other
Write a function to check whether two given strings are anagram of each other or not. An anagram of a string is another string that contains the same characters, only the order of characters can be different.
For example, “abcd” and “dabc” are an anagram of each other.
Comments