剑指 Offer 56 - I. 数组中数字出现的次数 发表于 2022-05-03 1234567891011121314151617181920212223242526class Solution { public int[] singleNumbers(int[] nums) { // 相同 bit 异或为 0, 不同 bit 异或为 1 int aXorB = 0; for (int num : nums) { aXorB ^= num; } int k = 1; while ((k & aXorB) == 0) { k <<= 1; } int a = 0, b = 0; for (int num : nums) { if ((num & k) != 0) { a ^= num; } else { b ^= num; } } return new int[]{a, b}; }} Reference剑指 Offer 56 - I. 数组中数字出现的次数