题解 | #字符串排序#

字符串排序

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

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void async function () {
    // Write your code here
    while(line = await readline()){
      let arr=line.split('')
      let arr1=[]
	  //取出字母
      for(let i=0;i<arr.length;i++){
        if(/[a-zA-Z]/.test(arr[i])){
            arr1.push(arr[i])
            arr[i]=undefined
        }
      }
	  //sort是稳定排序
      arr1.sort((a,b)=>{
        if(a.toUpperCase()>b.toUpperCase())return 1
        if(a.toUpperCase()<b.toUpperCase())return -1
        else return 0
      })
	  //把字母重新放回去
      for(let i=0;i<arr.length;i++ ){
        if(arr[i]===undefined){
            arr[i]=arr1.shift()
        }
      }
        console.log(arr.join(''));
    }
}()

全部评论

相关推荐

10-13 15:55
已编辑
微软_sde(实习员工)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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