GO·NOTE

一份 Go 开发工程师的学习笔记

0%

字符串是否异位置词

【题目】

两个字符串都是小写字母,看看他们是否为异位词,即字符个数相同

【举例】

str1 = “abcdb”, str2 = “cdabb” 是异位词

str1 = “abcdf”, str2 = “cdabb” 不是异位词

【难度】

★☆☆☆

【解答】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package main

import "fmt"

func main() {
fmt.Println(isAnagram("abcd", "acdb"))
fmt.Println(isAnagram("abcf", "acdb"))
}

func isAnagram(str1, str2 string) bool {

if len(str1) != len(str2) {
return false
}

array := [26]rune{}
for i := 0; i < len(str1); i++ {
array[str1[i]%"a"[0]]++
array[str2[i]%"a"[0]]--
}

for i := 0; i < len(array); i++ {
if array[i] != 0 {
return false
}
}
return true
}