Valid Anagram

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 * 104
  • s and t consist 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 Chandra

Approach 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