Add package lexical
This commit is contained in:
parent
2e4e8910eb
commit
0121a30a7d
|
@ -0,0 +1,17 @@
|
|||
package lexical
|
||||
|
||||
import (
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// SlowSort returns string in lexical order. This function is slower
|
||||
// than Lexical.
|
||||
func SlowSort(word string) (sorted string) {
|
||||
// Convert word to a slice, sort the slice.
|
||||
t := strings.Split(word, "")
|
||||
sort.Strings(t)
|
||||
|
||||
sorted = strings.Join(t, "")
|
||||
return
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package lexical
|
||||
|
||||
import "sort"
|
||||
|
||||
// Sort takes a string as input and returns the lexical order.
|
||||
func Sort(word string) (sorted string) {
|
||||
// Convert the string to []rune.
|
||||
var r []rune
|
||||
for _, char := range word {
|
||||
r = append(r, char)
|
||||
}
|
||||
|
||||
sort.Slice(r, func(i, j int) bool {
|
||||
return r[i] < r[j]
|
||||
})
|
||||
|
||||
sorted = string(r)
|
||||
return
|
||||
}
|
Loading…
Reference in New Issue