题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import sys from collections import deque str1 =input() s = list(str1) n = len(s) t = 65 list1=[] list2 = [""] * n flag = [True] * n for i in range(0, n): if not s[i].isalpha(): list2[i] = s[i] flag[i] = False i = 0 while t <= 90: for i in range(0, n): if flag[i] == False: i += 1 continue if flag[i] == True: if ord(s[i]) == t or ord(s[i]) == t + 32: list1.append(s[i]) t += 1 list3=deque(list1) for i in range(0,n): if flag[i]==True: print(list3.popleft(),sep="",end="") if flag[i] == False: print(list2[i],sep="",end="")
设置了一个flag 数组,用来判断位置是否被填充过