使用异或(^)找出一串整数中 奇数次出现的数
如果一串数字当中,只有一个数是出现奇数次,其余数都是出现偶数次,找出该出现奇数次的数
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=Integer.parseInt(sc.nextLine());
ArrayList<Integer> list=new ArrayList<>();
for(int i=0;i<n;i++) {
list.add(sc.nextInt());
}
int num=0;
for(int i=0;i<list.size();i++) {
if(list.get(i)%2!=0) {
num=num^list.get(i); //此处如何是偶数次出现,便抵消,奇数次出现便存进去
}
}
System.out.print(num);
}
num=num^i是将所有数字都串在一起,不过偶数次出现的数字会被抵消,奇数次出现的数被保留一个下来