题解 | #字符串排序#

字符串排序

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))
    

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务