题解 | #字符串排序#

字符串排序

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

// 利用sort特性字母排序,之后用splice插入非字母
while(line = readline()) {
var indexArr = [];
var otherArr = [];
var aArr = [];
var reg = new RegExp(/[a-z]/i);
for(var i =0; i < line.length; i++) {
if (reg.test(line[i])) { // a
aArr.push({key: line[i], index: i});
} else {
otherArr.push(line[i]);
indexArr.push(i);
}
}
aArr.sort((a, b) => { var c = transChar(a.key.charCodeAt(0)) - transChar(b.key.charCodeAt(0)); return c ? c : a.index - b.index; });
var shortArr = aArr.map((item) => item.key);
for (var i = 0; i < indexArr.length; i++ ) {
shortArr.splice(indexArr[i], 0, otherArr[i]);
}
console.log(shortArr.join(''));
}
function transChar(code) { if (code >= 65 && code <= 90) { return code + 32 } else {return code} };

全部评论

相关推荐

02-28 01:18
已编辑
南昌大学 后端工程师
黑皮白袜臭脚体育生:把开源经历放个人项目上边应该更好,就像大部分人都把实习经历放个人项目上边
点赞 评论 收藏
分享
UtopianYou...:这个简历排版真的不太行哦,去找免费的或者花点小钱,把排版弄整齐一点吧,看着舒服。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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