方法一

暴力

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int t=in.nextInt();
        while(t-->0){
            int n=in.nextInt();
            int[] a=new int[n];
            for(int i=0;i<n;i++){
                a[i]=in.nextInt();   
            }
            for(int i=0;i<n;i++){
                int xor=a[i];
                for(int j=0;j<n;j++){
                    xor=xor^a[j];    
                }
                //如果异或为0,说明是的,如果有偶数个x,那么异或和为x
                if(xor==0||xor==a[i]){
                    System.out.println(a[i]);
                    break;
                }
            }

        }
    }
}

方法二

设为x 原数组为a b c d e

因为a^b^c^d^e=x

所以新数组相异或为a^b^c^d^e^x=x^x=0

假设a为x,那么需要证明b^c^d^e^x=a

因为a^(b^c^d^e^x)=a^a=0符合,证明成功

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int t=in.nextInt();
        while(t-->0){
            int n=in.nextInt();
            int[] a=new int[n];
            for(int i=0;i<n;i++){
                a[i]=in.nextInt();  
                if(i==0){
                    System.out.println(a[i]);
                } 
            }
            

        }
    }
}