c语言实现:
static int *g_nums;
static int g_sum; // 不能在这里初始化为0,否则用例失败,只能在函数中赋值
static int g_nums_size;
static void backtrack(int value, int index)
{
if (index == g_nums_size) {
+= value;
g_sum } else {
(value, index + 1);
backtrack(value ^ g_nums[index], index + 1);
backtrack}
}
int subsetXORSum(int* nums, int numsSize) {
= nums;
g_nums = numsSize;
g_nums_size = 0; // 只能在函数中赋值,只在全局变量初始化的时候赋值用例失败
g_sum (g_sum, 0);
backtrackreturn g_sum;
}