题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
package main import ( "bufio" "fmt" "os" "sort" ) func main() { scanner:=bufio.NewScanner(os.Stdin) scanner.Scan() str:=scanner.Text() ans:=make([]rune, 0) res:=[]rune(str) for _,i:=range str{ if (i>='a'&&i<='z')||i>='A'&&i<='Z'{ ans=append(ans, i) } } sort.SliceStable(ans, func(i, j int) bool{ ti,tj:=ans[i],ans[j] if ti>='a'{ ti-=32 } if tj>='a'{ tj-=32 } return ti<tj }) flag:=0 for k,i:=range res{ if (i>='a'&&i<='z')||i>='A'&&i<='Z'{ res[k]=ans[flag] flag++ } } fmt.Println(string(res)) }