本文主要是介绍代码随想录 Leetcode46. 全排列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
代码(首刷自解 2024年2月6日):
class Solution {
private:vector<vector<int>> res;vector<int> path;
public:void backtracking(vector<int>& nums, int depth, vector<bool>& used) {if (depth == nums.size()) {res.push_back(path);return;}for (int i = 0; i < nums.size(); ++i) {if (used[i] == true) continue;path.push_back(nums[i]);used[i] = true;backtracking(nums, depth + 1, used);used[i] = false;path.pop_back();}return;}vector<vector<int>> permute(vector<int>& nums) {res.clear();path.clear();vector<bool> used(nums.size(), 0);//记录同一树枝上已用过的节点backtracking(nums, 0 ,used);return res;}
};
这篇关于代码随想录 Leetcode46. 全排列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!