Title:
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.
Tips:
Notice in the title that the two characters in the input string are lowercase, so we can create a dictionary (array) of size 26, where the corresponding relationship is {0:a, 1:b, ..., 25:z}. Use it to save the number of occurrences of each letter.
For S, the corresponding number +1, and for T, will correspond to the number-1. Finally, if all the elements of the dictionary are zero, the number of occurrences of each character is consistent.
Code:
classSolution { Public: BOOLIsanagram (stringSstringt) {if(S.size ()! = T.size ())return false; intdic[ -] = {0}; for(inti =0; I < s.size (); ++i) {dic[s[i]-'a']++; } for(inti =0; I < t.size (); ++i) {Dic[t[i]-'a']--; } for(inti =0; I < -; ++i) {if(Dic[i]! =0)return false; } return true; }};
"Leetcode" 242. Valid Anagram