funcDictSort(n int)[]int{
ans :=make([]int,0, n)for i, num :=0,1; i < n; i++{
ans =append(ans, num)if num*10<= n {
num *=10}else{for num%10==9|| num+1> n {
num /=10}
num++}}return ans
}
1.2 不考虑复杂度 简单易理解
引入内置库
import("sort""strconv")funcDictSort(n int)[]int{
m :=make([]int,0, n)for i :=1; i < n; i++{
m =append(m, i)}
sort.Slice(m,func(i, j int)bool{
tem1 := strconv.Itoa(m[i])
tem2 := strconv.Itoa(m[j])return tem1 < tem2
})return m
}