题解 | 字符串排序

while True:
    try:
        # 1. 读取整行
        s = input()

        # 2. 记录非字母字符的位置
        non_alpha = [(i, c) for i, c in enumerate(s) if not c.isalpha()]

        # 3. 提取并排序字母
        letters = [c for c in s if c.isalpha()]
        sorted_letters = sorted(letters, key=lambda x: x.lower())

        # 4. 重建字符串
        result = list(sorted_letters)
        for pos, char in non_alpha:
            result.insert(pos, char)

        print("".join(result))
    except EOFError:
        break

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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