题解 | #字符串排序#

字符串排序

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

# 解题思路:
# 1、将字符串中的字母和特殊字符分开保存,记录特殊字符和位置
# 2、对字母排序,稳定排序
# 3、将特殊字符插入到排序后的字母序列中


chars = input()

letter = []  # 存储字母
symbol = {}  # 存储特殊符号

for index, char in enumerate(chars):
    # 提取字母
    if char.isalpha():
        letter.append(char)
    # 提取特殊符号
    else:
        symbol[index] = char


# 字母稳定排序
sort_letter = sorted(letter, key=lambda x: x.lower())


# 将特殊符号插入排序后的字母中
for key, value in symbol.items():
    sort_letter.insert(key, value)


print(''.join(sort_letter))

全部评论

相关推荐

12-19 22:04
武汉大学 Java
点赞 评论 收藏
分享
给🐭🐭个面试机会...:我擦seed✌🏻
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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