diff --git a/leetcode/0242.Valid-Anagram/242. Valid Anagram.go b/leetcode/0242.Valid-Anagram/242. Valid Anagram.go index 81920dd7..72bd7a98 100644 --- a/leetcode/0242.Valid-Anagram/242. Valid Anagram.go +++ b/leetcode/0242.Valid-Anagram/242. Valid Anagram.go @@ -1,5 +1,26 @@ package leetcode +// suggestion +func isAnagram2(s string, t string) bool { + hash := map[rune]int{} + + for _, value := range s { + hash[value]++ + } + + for _, value := range t { + hash[value]-- + } + + for _, value := range hash { + if value != 0 { + return false + } + } + + return true +} + // 解法一 func isAnagram(s string, t string) bool { alphabet := make([]int, 26) diff --git a/leetcode/0242.Valid-Anagram/242. Valid Anagram_test.go b/leetcode/0242.Valid-Anagram/242. Valid Anagram_test.go index 15a108ca..8ece1c25 100644 --- a/leetcode/0242.Valid-Anagram/242. Valid Anagram_test.go +++ b/leetcode/0242.Valid-Anagram/242. Valid Anagram_test.go @@ -45,6 +45,21 @@ func Test_Problem242(t *testing.T) { para242{"rat", "car"}, ans242{false}, }, + + { + para242{"a", "ab"}, + ans242{false}, + }, + + { + para242{"ab", "a"}, + ans242{false}, + }, + + { + para242{"aa", "bb"}, + ans242{false}, + }, } fmt.Printf("------------------------Leetcode Problem 242------------------------\n")