异或运算的特点:两个相同的数字异或结果为0。
public class Solution {
public static int singleNumber(int[] arr) {
int num = 0;
for(int i : arr) {
num ^= i;
}
return num;
}
public static void main(String[] args) {
int[] num = new int[] {1,2,3,4,1,2,3};
System.out.println(singleNumber(num));
}
}
输出结果:
4
运算过程:
0^1==>1
1^2==>3
3^3==>0
0^4==>4
4^1==>5
5^2==>7
7^3==>4
参考链接:
https://blog.csdn.net/baidu_40931662/article/details/83892506
https://blog.csdn.net/qq_38200548/article/details/80666093