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