(LeetCode) 46. Permutations

来源:互联网 发布:淘宝大学vip课送工具 编辑:程序博客网 时间:2024/06/05 19:34

46. Permutations

Given a collection of distinct numbers, return all possible permutations.

For example,
[1,2,3] have the following permutations:

[  [1,2,3],  [1,3,2],  [2,1,3],  [2,3,1],`这里写代码片`  [3,1,2],  [3,2,1]]

思路

使用回溯算法。

代码

class Solution {public:    vector<vector<int>> permute(vector<int>& nums) {        vector<vector<int>> res;        backtrack(res, 0, nums);        return res;    }    void backtrack(vector<vector<int>> &res, int begin, vector<int> &nums){        if(begin>=nums.size()){            res.push_back(nums);        }else{            for(int i=begin; i<nums.size(); ++i){                swap(nums[i], nums[begin]);                backtrack(res, begin+1, nums);                swap(nums[i], nums[begin]);            }        }    }};
原创粉丝点击