异或(^)运算
--同为假,异为真
异或结果:
(二进制数字) 11 ^ 11 ->00
10 ^ 01 ->11
应用例子(leetcode : 136. 只出现一次的数字)
说明:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
public int solve(int [] nums){
int temp = 0;
for(int i :nums){
temp^=i;
}
return temp;
}
例如:输入:[2,2,1]
异或操作(10进制数字)=> 0^2^2^1 => 2^2^0^1(交换位置) => 0^0^1 = >0^1 =>1