首页 > 代码库 > [LeetCode] Permutations
[LeetCode] Permutations
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]
.
class Solution {public: vector<vector<int> > permute(vector<int> &num) { vector<int> te; vector<vector<int> >res,temp;//temp里存放中间值 int len = num.size(); if(len<=0) return res; for(int i=0;i<len;i++) { te.push_back(num[i]); temp.push_back(te); te.clear(); }//end for while(!temp.empty()) { te = temp.back(); temp.pop_back(); if(te.size()==len) { res.push_back(te); continue; } for(int i=0;i<len;i++) { if(find(te.begin(),te.end(),num[i])==te.end()) { te.push_back(num[i]); temp.push_back(te); te.pop_back(); } } }//end while return res; }};
依然是以前堆栈的思想,但用vector实现也不错。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。