result
存储所有的排列。_generate_permutations
是递归函数,用来生成排列。- 如果
current_permutation
的长度与nums
相等,表示找到一个完整的排列。 - 遍历
nums
,选择一个未在current_permutation
中的元素,递归生成排列,然后撤销选择以继续生成其他排列。class Solution: def permute(self, nums: List[int]) -> List[List[int]]: result=[] self._generate_permutations(nums,[],result) return result def _generate_permutations(self,nums,cur_per,result): if len(cur_per)==len(nums): result.append(cur_per[:]) return for num in nums: if num in cur_per: continue cur_per.append(num) self._generate_permutations(nums,cur_per,result) cur_per.pop()
10-12
2456
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-07
254
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-07
292
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)