/*
* @lc app=leetcode id=78 lang=cpp
*
* [78] Subsets
*/
// @lc code=start
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
int N = nums.size();
vector<vector<int>> ans;
vector<int> path;
dfs(ans,path,nums,0,N);
return ans;
}
void dfs(vector<vector<int>>& ans,vector<int>& path,vector<int>& nums,int L,int N){
ans.push_back(path);
for(int i=L;i<N;i++){
path.push_back(nums[i]);
dfs(ans,path,nums,i+1,N);
path.pop_back();
}
}
};
// @lc code=end
No.218 - LeetCode[78] Subsets - 数组中所有子集
最新推荐文章于 2025-12-05 21:56:57 发布
本文深入解析了LeetCode上的经典题目——第78题“子集”,通过C++代码详细展示了如何使用深度优先搜索(DFS)算法来解决该问题。文章不仅提供了完整的代码实现,还解释了递归调用过程中的状态管理和回溯操作,为读者理解子集问题的求解思路提供了清晰的指导。
1991

被折叠的 条评论
为什么被折叠?



