题解 | #字符串排序#

字符串排序

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

# line = input()  # 获取输入
# L = "abcdefghijklmnopqrstuvwxyz"  # 设置字母顺序
# M = list(map(str.isalpha, line))  # 判断是否为字母
# re = {}
# line2 = ''
# for i in range(len(M)):  #遍历
#     if not M[i]: #记录非字母及其索引
#         re[i] = line[i]
#     else:
#         line2 = line2 + line[i]  # 记录字母
# line2 = sorted(line2, key=str.upper)  # 根据特定的规则进行排序

# op = ''
# idx2 = 0  # 标记有多少个字母
# for idx in range(len(line)):
#     if idx in re.keys():  # 非字母
#         op = op + re[idx]
#         idx2 = idx2 + 1
#     else:
#         op = op + line2[idx - idx2]
# print(op)

astr=input()
M = list(map(str.isalpha, astr))
re_alpha = []
re_non_alpha = []
for achr in astr:
    if achr.isalpha():
        re_alpha.append(achr)
    else:
        re_non_alpha.append(achr)
re_alpha = sorted(re_alpha, key=lambda x:x[0].upper())
op = ''
for flag in M:
    if flag:
        op = op + re_alpha.pop(0)
    else:
        op = op + re_non_alpha.pop(0)

print(op)

全部评论

相关推荐

10-31 22:23
门头沟学院 Java
天然不是卷王:太好了 佬的金九银十结束,等offer吐出来,我的金11银12就要开始了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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