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
}