字母组合
给定几个字母,求全部排列组合。
list_ = ["a", "b", "c", "d","e"]# 最大组合数class solution():def fun(self, list_, current=""):if len(list_) > 1:// 如果只剩下一个字母,就递归结束for i in range(len(list_))://如果不止一个字母,就循环调用函数temp = list_.copy()//拷贝当前的循环的列表,防止下一步的pop操作影响到循环lastresult = current + temp.pop(i)//保留已运行出的结果self.fun(temp, lastresult)//递归调用本函数else:print(current + list_[0])//输出结果if __name__ == '__main__':myclass = solution()myclass.fun(list_)
字母组合
给定几个字母,求全部排列组合。
list_ = ["a", "b", "c", "d","e"]# 最大组合数class solution():def fun(self, list_, current=""):if len(list_) > 1:// 如果只剩下一个字母,就递归结束for i in range(len(list_))://如果不止一个字母,就循环调用函数temp = list_.copy()//拷贝当前的循环的列表,防止下一步的pop操作影响到循环lastresult = current + temp.pop(i)//保留已运行出的结果self.fun(temp, lastresult)//递归调用本函数else:print(current + list_[0])//输出结果if __name__ == '__main__':myclass = solution()myclass.fun(list_)