leetcode Permutations

代码:

 1 #include<iostream>

 2 #include<vector>

 3 

 4 using namespace std;

 5 

 6 void getResult(vector<vector<int>> &result, vector<int> element, vector<int> nums)

 7 {

 8     if (element.size() == nums.size())

 9     {

10         result.push_back(element);

11     }

12     else

13     {

14         for (int i = 0; i < nums.size(); i++)

15         {

16             if (find(element.begin(), element.end(), nums[i]) == element.end())

17             {

18                 element.push_back(nums[i]);

19                 getResult(result, element, nums);

20                 element.pop_back();

21             }

22         }

23     }

24 }

25 

26 vector<vector<int>> permute(vector<int>& nums) 

27 {

28     vector<vector<int>> result;

29     vector<int> element;

30     getResult(result, element, nums);

31     return result;

32 }

33 

34 int main()

35 {

36     vector<int> nums = {1,2, 3};

37     vector<vector<int>> result = permute(nums);

38     cout << result.size() << endl;

39     for (int i = 0; i < result.size(); i++)

40     {

41         for (int j = 0; j < result[i].size(); j++)

42             cout << result[i][j] << "    ";

43         cout << endl;

44     }

45 }

 

你可能感兴趣的:(LeetCode)