给定一个整数列表和目标总和，找到列表中所有相加等于目标总和的数字组合。
给定以下参数，设计一个算法来解决问题。
算法：

-首先声明一个List来存储结果。
-创建一个带有两个参数的递归函数：包含元素和目标和的列表。
-基本情况：如果找到目标总和，则将列表添加到结果中。
-否则：遍历列表中的每个元素。
-对于每个元素，从目标总和中减去它并递归调用相同的函数，使用剩余列表和新的目标总和。
-递归完成后，从列表中删除当前元素并继续循环。
-迭代完成后，返回结果。