题解 | #字符串排序#

字符串排序

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 数组,用来判断位置是否被填充过

全部评论

相关推荐

05-20 21:57
已编辑
门头沟学院 Java
喜欢吃卤蛋的悲伤蛙在提需求:建信融通没消息吧,我2说有实习挂简历不理了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务