^为异或,计算时先把两个数转换为二进制,再进行计算。
两个不同的值异或结果为1,两个相同的数异或后值为0
所以判断Int型数组中的唯一值,就用异或来把数组中的每一个值进行比较即可。
示例:
/**
* ^为异或,计算时先把两个数转换为二进制,再进行计算。
* 两个不同的值异或结果为1,两个相同的数异或后值为0
* 所以判断Int型数组中的唯一值,就用异或来把数组中的每一个值进行比较即可。
* @param A int整型一维数组
* @return int整型
*/
public int singleNumber (int[] A) {
// write code here
int sum=A[0];
for(int i=1;i<A.length;i++){
sum^=A[i];
}
return sum;
}


京公网安备 11010502036488号