回溯算法的模板

  
    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; }
 
原文地址:https://www.cnblogs.com/Younger-Zhang/p/15100425.html