242. 有效的字母异位词

目录

242. 有效的字母异位词

给定两个字符串 st ,编写一个函数来判断 t 是否是 s 的字母异位词。

**注意:**若 s*t* 中每个字符出现的次数都相同,则称 st 互为字母异位词。

示例 1:

1
2
输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

1
2
输入: s = "rat", t = "car"
输出: false

哈希表

用一个 [26]int 来代替 map[byte]int

三个循环

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
func isAnagram(s string, t string) bool {
	if len(s) != len(t) {
		return false
	}
	var hash [26]int
	for _, letter := range s {
		hash[letter-'a']++
	}
	for _, letter := range t {
		if hash[letter-'a'] == 0 {
			return false
		}
		hash[letter-'a']--
	}
	for i := 0; i < 26; i++ {
		if hash[i] > 0 {
			return false
		}
	}
	return true
   	// 甚至可以酱紫写 xia
    // return record == [26]int{}
}