Given two strings s and t, return true if t is an anagram of s, and false otherwise.
An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
Example 1: Input: s = "anagram", t = "nagaram" Output: true
Example 2: Input: s = "rat", t = "car" Output: false
Constraints:
1 <= s.length, t.length <= 5 * 104sandtconsist of lowercase English letters.
Solution
Approach 1:
Java
class Solution {
public boolean isAnagram(String s, String t) {
int len = 0;
if(t.length() != s.length()) return false;
else len = s.length();
char SCh[] = s.toCharArray();
char TCh[] = t.toCharArray();
Arrays.sort(SCh);
Arrays.sort(TCh);
for(int i = 0 ; i < len; i++) {
if(SCh[i] != TCh[i] ) return false;
}
return true;
}
}Agnibha ChandraApproach 2:
Java
class Solution {
public boolean isAnagram(String s, String t) {
int a[] = new int[26];
for(int i = 0 ; i < s.length(); i++)
{
a[s.charAt(i) - 97]++;
}
for(int j = 0; j< t.length(); j++)
{
a[t.charAt(j)-97]--;
}
for(int i=0; i< 26; i++)
{
if(a[i] != 0)
return false;
}
return true;
}
}Agnibha Chandra