[LeetCode] Permutations
2014-11-29 23:57
232 查看
Given a collection of numbers, return all possible permutations.
For example,
and
For example,
[1,2,3]have the following permutations:
[1,2,3],
[1,3,2],
[2,1,3],
[2,3,1],
[3,1,2],
and
[3,2,1].
class Solution { public: vector<vector<int> > ans; vector<int> v; bool *nums; int len; vector<vector<int> > permute(vector<int> &num) { len = num.size(); nums = new bool[len]; for(int i = 0;i < len;i ++) nums[i] = true; dfs(num); return ans; } void dfs(vector<int> &num){ if(v.size() == len){ ans.push_back(v); return; } for(int i = 0;i < len;i ++){ if(nums[i]){ v.push_back(num[i]); nums[i] = false; dfs(num); nums[i] = true; v.pop_back(); } } } };
相关文章推荐
- [LeetCode] Permutations
- Permutations - LeetCode
- LeetCode力扣之46_Permutations
- leetcode Permutations II
- LeetCode 46:Permutations
- leetcode 46. Permutations
- [C++]LeetCode: 115 Permutations (求一组数的全排列)
- LeetCode: Permutations
- Leetcode 46 Permutations
- 算法分析与设计课程(3):【leetcode】Permutations
- 【LeetCode】Permutations && Combinations 排列组合
- [leetcode] Permutations
- leetcode:Permutations
- LeetCode---Permutations
- [Leetcode]Permutations
- [LeetCode] Permutations
- Permutations [Leetcode 解题报告]
- Leetcode Permutations II
- [LeetCode] Permutations
- Leetcode: Permutations