Topic:
Given, Strings s and T, write a function to determine if it is a anagram of s.
For example,
s = "Anagram", t = "Nagaram", return true.
s = "Rat", t = "Car", return false.
Note:
Assume the string contains only lowercase alphabets
Follow up:
What if the inputs contain Unicode characters? How would adapt your solution to such case?
Solution Ideas:
Set a full array of size 26 to record the number of occurrences of each letter in the string s, and to determine if the number of occurrences of each letter in the T string is the same as, if the same, the description constitutes a modified word.
The code is as follows:
Class Solution {
Public
BOOL Isanagram (string s, String t) {
int s_size = S.length ();
int t_size = T.length ();
if (s_size! = t_size)
{
return false;
}
if (s_size = = 0)
return true;
Char s_copy[s_size + 1];
Char t_copy[t_size + 1];
strncpy (S_copy,s.c_str (), s_size);
strncpy (T_copy,t.c_str (), t_size);
int num[26]={0};
for (int i = 0;i < s_size;i++)
{
num[s_copy[i]-' a ']++;
}
for (int i = 0;i < t_size;i++)
{
num[t_copy[i]-' a ']--;
if (num[t_copy[i]-' a '] < 0)
return false;
}
for (int i = 0;i < 26;i++)
{
if (num[i]! = 0)
return false;
}
return true;
}
};
Leetcode Title: Valid Anagram