Skip to content

Commit 3f1552f

Browse files
committed
add: #242 valid anagram
1 parent 4666f02 commit 3f1552f

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

valid-anagram/ysle0.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package main
2+
3+
// package valid_anagram
4+
5+
import (
6+
"fmt"
7+
)
8+
9+
func isAnagram(s string, t string) bool {
10+
ht := make(map[rune]int, len(s))
11+
for _, r := range s {
12+
ht[r]++
13+
}
14+
15+
for _, r := range t {
16+
cnt, ok := ht[r]
17+
if !ok {
18+
return false
19+
}
20+
21+
ht[r] -= 1
22+
if cnt-1 < 0 {
23+
return false
24+
}
25+
}
26+
27+
for _, v := range ht {
28+
if v > 0 {
29+
return false
30+
}
31+
}
32+
33+
return true
34+
}
35+
36+
func main() {
37+
r1 := isAnagram("anagram", "nagaram")
38+
fmt.Println(r1)
39+
fmt.Println()
40+
41+
r2 := isAnagram("rat", "car")
42+
fmt.Println(r2)
43+
44+
r3 := isAnagram("ab", "a")
45+
fmt.Println(r3)
46+
}

0 commit comments

Comments
 (0)