题解 | #字符串排序#
字符串排序
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= "")
查看12道真题和解析
汤臣倍健公司氛围 364人发布