我想创建一种不同的排列列表的方式,比如[apple,banana,orange],而不递归地使用for循环,这将适用于任何大小的列表和输入等。我已经创建了一种使用for循环的方式,但如果不使用for循环来解决这个问题,我就无法弄清楚自己,因为递归地解决没有for循环的排列的第二部分也将是我们下一次考试的一个问题(我正在阅读学习指南)?
您可以通过以下递归模拟循环:
- 对空列表不做任何操作
否则
- 处理第一个元素
- 递归,使用以第二个元素开头的子列表