class Solution { public: int solve(int* a, int aLen) { //a是数组指针,aLen是数组长度 int res = 0; for(int i = 0; i < aLen; i++) res ^= a[i] ^ (i + 1); //本质上是把a中所有数和0~aLen做异或运算,这样相同的数字抵消剩下a中没有的数字(0是res的初始值,所以这里实际上是1~aLen参与异或运算) return res; } };
class Solution { public: int solve(int* a, int aLen) { //a是数组指针,aLen是数组长度 int res = 0; for(int i = 0; i < aLen; i++) res ^= a[i] ^ (i + 1); //本质上是把a中所有数和0~aLen做异或运算,这样相同的数字抵消剩下a中没有的数字(0是res的初始值,所以这里实际上是1~aLen参与异或运算) return res; } };