Given an array of integers, every element appears twice except for one. Find that single one.
这道题直接异或,出现偶数次的异或后变为0,这样留下来的那个数就是只出现1次的数了
public int singleNumber(int[] A) {
int result = 0;
for (int i = 0; i < A.length; i++) {
result = result ^ A[i];
}
return result;
}
具体分析参见
位运算之找出奇特的数。
举一反三:
一个数组长度为100,现有0~100共101个数试图放入这个100长度的数组里,试找出那个没有放入的数。