输入char[] = {a,b,c}
组合情况:a,b,c,ab,ac,bc,abc
返回:String[
def quanpailie(s):
if len(s) <= 1:
return [s]
total = []
lens = len(s)
for i in range(lens):
total.append(s[i])
for j in range(i + 1, lens):
##因为j只能到lens -1,所以需要j+1来取到最后一个数
total.append(s[i:j+1])
return total
if __name__ == '__main__':
print(quanpailie("aab"))
返回:['a', 'ab', 'abc', 'b', 'bc', 'c']
如果需要排成a,b,c,ab,ac,bc,abc,则在return之前,执行
reverse= False表示正序,为True表示逆序。
total = sorted(total, key=lambda i: len(i), reverse=False)