function singleNumber (arr) { let result = 0 for (let i = 0; i < arr.length; ++i) { // 异或满足 "交换律":a ^ b ^ a === a ^ a ^ b === b // 相同的数异或得0,所以整个数组异或走一遍,会留下唯一的数 result ^= arr[i] } return result }
function singleNumber (arr) { let result = 0 for (let i = 0; i < arr.length; ++i) { // 异或满足 "交换律":a ^ b ^ a === a ^ a ^ b === b // 相同的数异或得0,所以整个数组异或走一遍,会留下唯一的数 result ^= arr[i] } return result }