题解 | #字符串排序#

字符串排序

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)
}
全部评论

相关推荐

机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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