题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import sys
strs = sys.stdin.readline().strip()
letterOrder = []
for i in range(26): # 对于字符串,依次判断有没有a/A, b/B, ....z/Z,有的话就添加到letterOrder中
for item in strs:
if ord(item) - ord('a') == i or ord(item) - ord('A') == i:
letterOrder.append(item)
idx = 0
ans = []
for str in strs:
if ord('a') <= ord(str) <= ord('z') or ord('A') <= ord(str) <= ord('Z'):
ans.append(letterOrder[idx]) # 如果是字母,说明这个空位应该填个字母,根据letterOrder中的顺序填上字母
idx += 1
else:
ans.append(str) # 如果不是字母,直接加上它
print(''.join(ans))
