题目描述:将以逗号分隔的输入字符串按z…a的顺序排序,空字符位于最前面,当一个字符串是另一个字符串的子串时,排在前面。
import sys
import operator
def resort(arr):
n = len(arr)
count = 0
for i in range(n):
if arr[i] == '':
arr[i], arr[count] = arr[count], arr[i]
count += 1
low = arr[:count]
high = arr[count:]
n = len(high)
for i in range(n-1):
for j in range(i+1, n):
if high[i] in high[j]:
continue
if high[j] in high[i]:
high[i], high[j] = high[j], high[i]
continue
if operator.lt(high[i], high[j]):
high[i], high[j] = high[j], high[i]
return low + high
arr = [str(x) for x in sys.stdin.readline().strip().split(',')]
temp = resort(arr)
print(','.jion(temp))