This is a creation in Article, where the information may have evolved or changed.
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?
This problem, my idea is to use a hash table to solve, respectively, s and T traversal once, traverse s when, with the letter when the keyword, the number of letters appear, the second time, each traversal to a letter let the count of the letter minus one, so you can make a judgment
The problem of Unicode is mentioned in the topic, which can be easily handled in the go language, when using a for range statement for a string, the extracted value is not a byte type but a rune type, and a rune can correspond to a Unicode code
Func Isanagram (s string, T string) bool { if (len (s)! = Len (t)) { return False } m: = map[string]int{}
for _, V: = range S { key, OK: = M[string (v)] if!ok { m[string (v)] = 1 } else { m[string (v)] = key + 1 } } for _, V: = range T { key, OK: = M[string (v)] if!ok { return false } if Ke y = = 0 { return false } m[string (v)] = key-1 } return True}