任务是确定字符串中的所有字符都是唯一的。例如在入口处
test string
在出口处
test string - false
在入口
abcde
在出口处
abcde - true
我这样做
package main
import (
"log"
"strings"
)
func CountLetters(str string) (bool, string) {
slcstr := strings.Split(str, "")
mpbool := make(map[string]bool, 0)
for _, item := range slcstr {
_, ok := mpbool[item]
if ok {
return false, str
}
mpbool[item] = true
}
return true, str
}
func main() {
log.Println(CountLetters("test"))
}
但也许还有其他一些方法,或者有一些经典的方法吗?而且我有点尴尬的是,缓慢的功能,我认为是因为字符串包。是否有没有它且没有类型转换的变体?
你只能通过切片
Unicode 变体
UPD:进行了性能测试。第一个选项是最聪明的。