题目:给出一个包含 0 .. N 中 N 个数的序列,找出0 .. N 中没有出现在序列中的那个数。
public int findMissing(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int result_total = 0;
int result_incomplete = 0;
for (int i = 0; i <= nums.length; i++) {
result_total = result_total ^ i;
}
for (int i = 0; i < nums.length; i++) {
result_incomplete = result_incomplete ^ nums[i];
}
return result_incomplete ^ result_total;
}
解释:
求出完整数组里所有数的异或结果result_total