#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param num int整型一维数组
# @return int整型二维数组
#
class Solution:
def permute(self , num: List[int]) -> List[List[int]]:
# write code here
res=[]
n =len(num)
def backtrack(first=0):
if first==n:
res.append(num.copy()) # 复制不然会覆盖
for i in range(first,n):
num[first],num[i]=num[i],num[first] # 交换第一个
backtrack(first+1)
num[first],num[i]=num[i],num[first] # 恢复第一个
# 对原数组排序
num.sort()
backtrack(0)
return res

京公网安备 11010502036488号