1impl Solution {2pub fn find_target_sum_ways(nums: Vec<i32>, target: i32) -> i32 {3let mut count = 0;4Self::dfs(&nums, target, 0, 0, &mut count);5count6}7fn dfs(nums: &Vec<i32>, target: i32, current_sum: i32, current_length: usize, res: &mut i32) {8if current_length == nums.len() {9if current_sum == target {10*res += 1;11}12return;13}14let curr_num = nums[current_length];15Self::dfs(16nums,17target,18current_sum + curr_num,19current_length + 1,20res,21);22Self::dfs(23nums,24target,25current_sum - curr_num,26current_length + 1,27res,28);29}30}