题解 | #字符串排序#

字符串排序

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

相关推荐

我:“加班需要有加班工资。”&nbsp;hr:“为什么?”&nbsp;哈哈哈哈哈哈哈离大谱
juntenor:你确实太理想化了,对社会不了解呀。这个和HR没有关系,这是国内特色,不然怎么还会有外包就这种逆天的存在呢。
点赞 评论 收藏
分享
06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
想按时下班的我在等o...:我投测试也是这个情况,不知道咋办了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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