Check Permutation
Posted: 22 Feb, 2021
Difficulty: Easy
You have been given two strings 'STR1' and 'STR2'. You have to check whether the two strings are anagram to each other or not.
Note:
Two strings are said to be anagram if they contain the same characters, irrespective of the order of the characters.
Example :
If 'STR1' = “listen” and 'STR2' = “silent” then the output will be 1.
Both the strings contain the same set of characters.
Input Format:
The first line contains an integer ‘T’ which denotes the number of test cases.
The first and only line of each test case contains two space-separated strings 'STR1' and 'STR2', respectively.
Output Format:
For each test case, return true if the two strings are anagrams of each other else return false.
Print the output of each test case in a separate line.
Constraints:
1 <= T <= 100
1 <= |STR1|, |STR2| <= 10^3
Where |STR1| and |STR2| are the lengths of the string 'STR1' and 'STR2' respectively.
Time limit: 1 sec
Approach 1
Approach 2
The idea is to create a ‘HASH’ array with all the values initialized to 0. We increment the value in the ‘HASH’ array for characters in 'STR1' and decrement for characters in ‘STR1’. Finally, if all ‘HASH’ array values are 0, then the two strings are anagram.
- If lengths of ‘STR1’ and ‘STR2’ are not the same, return false.
- Create a ‘HASH’ array with all values initialized to 0.
- Start traversing ‘STR1’ and ‘STR2’ simultaneously.
- Increment the value in the ‘HASH’ array for characters in ‘STR1’ and decrement the value in the ‘HASH’ array for characters in ‘STR2’.
- If all values in the ‘HASH’ array are 0 after the above operations, then the two strings are anagram.