032_子集
知识点:回溯算法
LeetCode第七十八题:https://leetcode-cn.com/problems/subsets/solution/
语言:GoLang
// 回溯
func subsets(nums []int) [][]int {
ans := [][]int{}
backtrack(nums, []int{}, &ans)
return ans
}
func backtrack(nums []int, track []int, ans *[][]int) {
tmp := make([]int, len(track))
copy(tmp, track)
*ans = append(*ans, tmp)
for i := 0; i < len(nums); i++ {
track = append(track, nums[i])
backtrack(nums[i+1:], track, ans)
track = track[:len(track) - 1]
}
}

浙公网安备 33010602011771号