permutation递归方法

class Solution {
public:
    vector<vector<int> > permute(vector<int> &num) {
       vector<vector<int> > result;
       int n=num.size();
       if(n==1) {
       		result.push_back(num);
       		return result;
       }
       vector<int> cur;
       vector<vector<int> > tmpResult;
       for(int i=0;i<n;i++){
       		cur=num;
       		cur.erase(cur.begin()+i);
       		tmpResult=permute(cur);
       		for(int j=0;j<tmpResult.size();j++){
       			tmpResult[j].insert(tmpResult[j].begin(),num[i]);
       			result.push_back(tmpResult[j]);
       		}

       }
       return result;

    }
};

posted @ 2016-08-30 11:34  牧羊少年10号  阅读(107)  评论(0编辑  收藏  举报