题目描述及链接
题目参数解释
nums是传入的数组,numsSize表示数组中数字个数,returnSize是一个返回型参数,表示返回数组的元素个数。
本题我们需要返回一个整型数组,这个数组通过malloc创建,题目假设函数调用者来释放这个数组。
解题思路
异或规则:两个整形异或,根据他们的二进制位,相同则结果的这一位为0,相异则这一位为1。
任何整数和0异或得到的还是这个数。
两个相同的数字异或得到0。
因此,对于一组只有1个只出现1次的数字、其余数字都出现偶数次的数组,只要把全部数字和0异或在一起就可以的到那个只出现1次的数字。
在这题中有两个只出现1次的数字,于是考虑把整个数组分为两组,每组中只有1个数字只出现1次,其余数字都出现两次。
本题将全部数字和0异或在一起(赋值给临时变量tmp),最后的结果就是这两个只出现1次的数字异或的结果。这个结果必定