题解 | #字符串排序#
字符串排序
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 数组,用来判断位置是否被填充过
