[LeetCode] Permutations 解题报告
2012-12-30 05:32
459 查看
Given a collection of 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], and
[3,2,1].» Solve this problem
[解题思路]
递归,用标志位记录已使用数字。
[code]1: vector<vector<int> > permute(vector<int> &num) { 2: // Start typing your C/C++ solution below 3: // DO NOT write int main() function 4: vector<vector<int> > coll; 5: vector<int> solution; 6: if(num.size() ==0) return coll; 7: vector<int> visited(num.size(), 0); 8: GeneratePermute(num, 0, visited, solution, coll); 9: return coll; 10: } 11: void GeneratePermute(vector<int> & num, int step, vector<int>& visited, vector<int>& solution, vector<vector<int> >& coll) 12: { 13: if(step == num.size()) 14: { 15: coll.push_back(solution); 16: return; 17: } 18: for(int i =0; i< num.size(); i++) 19: { 20: if(visited[i] == 0) 21: { 22: visited[i] = 1; 23: solution.push_back(num[i]); 24: GeneratePermute(num, step+1, visited, solution, coll); 25: solution.pop_back(); 26: visited[i] =0; 27: } 28: } 29: }
相关文章推荐
- LeetCode解题报告—— Permutations & Permutations II & Rotate Image
- [leetcode]47. Permutations II@Java解题报告
- [LeetCode] Permutations 解题报告
- 【LeetCode】Permutations 解题报告
- 【LeetCode】Permutations 解题报告
- Permutations [Leetcode 解题报告]
- LeetCode-Permutations-解题报告
- LeetCode: Permutations 解题报告
- [LeetCode]Permutations,解题报告
- [leetcode] 169. Majority Element 解题报告
- [Leetcode] 291. Word Pattern II 解题报告
- LeetCode: Search Insert Position 解题报告
- leetcode解题报告:56. Merge Intervals
- LeetCode 解题报告 Two Sum
- [Leetcode] 161. One Edit Distance 解题报告
- [LeetCode]Rising Temperature,解题报告
- [leetcode] 325. Maximum Size Subarray Sum Equals k 解题报告
- 【LeetCode】104.Maximum Depth of Binary Tree(Easy)解题报告
- LeetCode解题报告—— 4Sum & Remove Nth Node From End of List & Generate Parentheses
- [Leetcode] 164. Maximum Gap 解题报告