递归解法:

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @param target int整型 
     * @return int整型
     */
    int findTargetSumWays(vector<int>& nums, int target) {
        // write code here
        if(nums.size() == 0){
            return 0;
        }
        int res = digui(nums, target, 0);
        return res;
    }
    
    int digui(vector<int>& nums, int target, int cur){
        if(cur >= nums.size()){
            if(target == 0)
                return 1;
            else
                return 0;
        }
        
        int a = digui(nums, target+nums[cur], cur+1);
        int b = digui(nums, target-nums[cur], cur+1);
        
        return a+b;
    }
    
};