题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
str1 = input() str2 = '' str4 = '' res = '' lst3 = [a for a in str1] lst = [] lst1 = [] sets = set() for i in range(len(str1)): if str1[i].isupper() or str1[i].islower(): str2=str2+str1[i] lst1.append(i) for li in str2: lst.append(li.lower()) sets.add(li.lower()) for li in sorted(list(sets)): str3 = '' for x in str2: if x.lower() == li: str3 = str3+x str4 = str4+str3 for i in range(len(lst1)): lst3[lst1[i]]=str4[i] for li in lst3: res = res+li print(res)
取到所有字母,并且记录所有字母下标
对所有字母存入集合去重,转为列表排序,遍历原始字符串,相同字符的都取出来。拼接成新字符串。
根据下标将字符一一填入