bool backTrace(vector<int>& nums, int index, int targetSum) { if (targetSum == 0) { return true; } if (index >= nums.size()) { return false; } // 先尝试使用index,成功直接return,失败再尝试跳过 // 根据index是否可以重复使用, if (backTrace(nums, index + 1, targetSum - nums[i]) == true) { return true; } // 跳过index else { return backTrack(nums, index + 1, targetSum); } return false; }