题解 | #字符串排序#

字符串排序

http://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584

用正则找到所有的大小写字母

然后进行排序

然后匹配原来的字符串中的大小写字母

按照顺序替换即可

let line

while(line = readline()){
    let arr = line.split('');
    let reg = /[a-z]/ig
    let matchArr = line.match(reg);
    matchArr = matchArr.reduce((list,item)=>{
        let index = list.findIndex((i)=>i.toUpperCase() > item.toUpperCase());
        index > -1 ? list.splice(index,0,item) : list.push(item)
        return list
    },[]);
    
    let str = ''
    let num = 0
    let reg1 = /[a-z]|[A-Z]/
    for(let i = 0;i<arr.length;i++){
        if(reg1.test(arr[i])){
            str+=matchArr[num]
            num++
        }else{
            str+=arr[i]
        }
    }
    console.log(str)
}
全部评论

相关推荐

02-17 20:43
西北大学 Java
醉蟀:别浪费时间。老板是一个想入行互联网的新人。去年6 7月boss上面看到的。他把所有人都拉到一个微信群,然后一个一个面,自己也在学技术。公司就是一个小区里面租的两间房。都没有买电脑啥的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务