题解 | #字符串排序#

字符串排序

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))
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务