Given two strings a and b consisting of lowercase characters. The task is to check whether two given strings are an 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, act and tac are an anagram of each other.
Example 1:
Input:a = geeksforgeeks, b = forgeeksgeeks
Output: YES
Explanation: Both the string have same characters with
        same frequency. So, both are anagrams.Example 2:
Input:a = allergy, b = allergic
Output: NO
Explanation: Characters in both the strings are 
        not same, so they are not anagrams.Your Task:
You don't need to read input or print anything. Your task is to complete the function isAnagram() which takes the string a and string b as input parameter and check if the two strings are an anagram of each other. The function returns true if the strings are anagrams else it returns false.
Note: In python, you have to return True or False.
Expected Time Complexity:O(|a|+|b|).
Expected Auxiliary Space: O(Number of distinct characters).
Note: |s| represents the length of string s.
Constraints:
1 ≤ |a|,|b| ≤ 105
Submit Your Solution:- Click Here
Anagram Geeks for Geeks Solution in C++
#include <bits/stdc++.h>
using namespace std;
int main() {
 int t;
 cin>>t;
 while(t--){
     string x,y;
     cin>>x>>y;
     auto key=false;
     if(x.length()<y.length()||y.length()<x.length())
     {
         key=true;
     }
           else{
         sort(x.begin(),x.end());
     sort(y.begin(),y.end());
     
     for(auto i=0;i<x.length();i++)
         if(x[i]!=y[i]){
         key=true;
         break;
        }
           }
    if(key)
         cout<<"NO"<<endl;
    else
         cout<<"YES"<<endl;
        
 }   
}
 


 
 
 
 
 
 
0 Comments: