23 lines
285 B
Go
23 lines
285 B
Go
package uniqueschars
|
|
|
|
import (
|
|
"unicode"
|
|
"unicode/utf8"
|
|
)
|
|
|
|
func Unique(s string) bool {
|
|
m := make(map[rune]struct{}, utf8.RuneCountInString(s)/2)
|
|
|
|
for _, c := range s {
|
|
c := unicode.ToLower(c)
|
|
|
|
if _, ok := m[c]; ok {
|
|
return false
|
|
}
|
|
|
|
m[c] = struct{}{}
|
|
}
|
|
|
|
return true
|
|
}
|