题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
import sys """ 输入,这次不能split 就是对字母类型的数据进行重新排序 既有字母,同时字母还有大小写 不需要区别大小写就很不错 还有非字母,非字母的位置又放在哪里 非字母的数字直接跳过就好 突然发现就是一个限制条件非常多的冒泡排序 不断地把最大值往后扔,期间遇到非字母的就跳过 其实字母对于阿斯克码来说也是数字 """ s = list(input()) for i in range(len(s)): cur = 0 nex = 1 while nex < len(s): if cur == nex: nex +=1 # cur是字母 if "A" <= s[cur] <= "Z" or "a" <= s[cur] <= "z": # nex也是字母 if "A" <= s[nex] <= "Z" or "a" <= s[nex] <= "z": # 比较之后小于就换位置,不小就+1 if s[cur].lower() > s[nex].lower(): # 字符串不能用拆包的方式改变 s[cur], s[nex] = s[nex], s[cur] cur, nex = cur + 1, nex + 1 else: cur, nex = cur + 1, nex + 1 # nex不是字母 else: nex = nex + 1 # cur不是字母 else: cur += 1 for i in s: print(i,end= "")