46. 全排列 发表于: 2024-03-27 分类于: leetcode 字数: 274 阅读:≈ 1分钟 浏览: 评论: https://leetcode.cn/problems/permutations/ 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:1 2 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:1 2 输入:nums = [0,1] 输出:[[0,1],[1,0]]示例 3:1 2 输入:nums = [1] 输出:[[1]]提示:1 2 3 1 <= nums.length <= 6 -10 <= nums[i] <= 10 nums 中的所有整数 互不相同解题思路 暴力递归代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 func permute(nums []int) [][]int { var res [][]int if len(nums) == 1 { return [][]int{nums} } for i, v := range nums { tarr := make([]int, 0) tarr = append(tarr, nums[:i]...) tarr = append(tarr, nums[i+1:]...) for _, vv := range permute(tarr) { tmp := []int{v} tmp = append(tmp, vv...) res = append(res, tmp) } } return res }