LeetCode-46-Permutations(DFS)-Medium

来源:互联网 发布:30岁找不到女朋友 知乎 编辑:程序博客网 时间:2024/05/08 23:55

题意理解:

给定vector,其中的元素均为唯一的,求解vector中元素所有的排列方式;


题目分析:

典型的DFS


解题代码:

class Solution {private:    vector<vector<int>> ans;    void dfs(vector<int> &preAns, vector<int> &subNums){        if(subNums.size()==0){            ans.push_back(preAns);            return;        }                int size=subNums.size();        for(int i=0; i<size; i++){            int n=subNums[i];            vector<int> tPreAns(preAns);            tPreAns.push_back(n);                        vector<int> tSubNums(subNums);            tSubNums.erase(find(tSubNums.begin(), tSubNums.end(),n));            dfs(tPreAns, tSubNums);        }    }public:    vector<vector<int>> permute(vector<int>& nums) {        vector<int> pre;        dfs(pre, nums);                return ans;    }};


0 0
原创粉丝点击