30 lines
574 B
Go
30 lines
574 B
Go
package q1657
|
|
|
|
import "slices"
|
|
|
|
func closeStrings(word1 string, word2 string) bool {
|
|
if len(word1) != len(word2) {
|
|
return false
|
|
}
|
|
|
|
charCount1, charCount2 := make([]int, 26), make([]int, 26)
|
|
for i := range len(word1) {
|
|
charCount1[word1[i]-'a']++
|
|
charCount2[word2[i]-'a']++
|
|
}
|
|
|
|
for i := range charCount1 {
|
|
if charCount1[i] == 0 && charCount2[i] != 0 {
|
|
return false
|
|
}
|
|
if charCount1[i] != 0 && charCount2[i] == 0 {
|
|
return false
|
|
}
|
|
}
|
|
|
|
slices.Sort(charCount1)
|
|
slices.Sort(charCount2)
|
|
return slices.Equal(charCount1, charCount2)
|
|
}
|
|
|
|
var _ = closeStrings
|