题目
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。
代码&思路
递归
全排列第一想法就是考虑递归了,而且无重复数字,if语句很简单
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
res=[] # 记录其可能的全排列
def f(L):
if len(L)==len(nums):
res.append(L)
return 'finish'
for x in nums:
if x not in L:
tmp=L[:]
tmp.append(x)
f(tmp)
f([])
return res
该文章讨论如何使用递归方法解决给定无重复数字数组的全排列问题。代码中定义了一个Solution类,包含一个permute方法,通过辅助函数f进行深度遍历,当子列表长度等于原数组长度时添加到结果列表。方法通过检查元素是否已存在于子列表中避免重复排列。
910

被折叠的 条评论
为什么被折叠?



