官解 func frequencySort(s string) string {charMap := make(map[rune]int)arr := make([]string, len(s))for _,c := range s {charMap[c]++}for k,v := range charMap {arr[v - 1] += strings.Repeat(string(k), v)}r := ""for _,c := range arr {r = c + r}return r } 自定义排序 package mainimport ("fmt""sort" )type IntSlice []runefunc (c IntSlice) Len() int {return len(c) } func (c IntSlice) Swap(i, j int) {c[i], c[j] = c[j], c[i] } func (c IntSlice) Less(i, j int) bool {return c[i] > c[j] }func frequencySort(s string) string {var test IntSlicetest = []rune(s)fmt.Println(test)sort.Sort(test)return s }func main() {fmt.Println( frequencySort("Aabb") )fmt.Println( frequencySort("tree") ) }