leetcode46
第一次写回溯的题,思想还是dfs,就是多了一步恢复原状态,之前好像也写过。每天做的有点少,得加油了
class Solution {
public:vector<vector<int>> permute(vector<int>& nums) {vector<vector<int>>ret;backtrack(nums,0,ret);return ret;}void backtrack(vector<int>& nums,int goal,vector<vector<int>>& ret){if(goal==nums.size()-1){ret.push_back(nums);return;}for(int i=goal;i!=nums.size();++i){swap(nums[i],nums[goal]);backtrack(nums,goal+1,ret);swap(nums[i],nums[goal]);}}
};
END