题解 | #字符串排序#
字符串排序
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))

