算法|每日一题|只出现一次的数字Ⅲ|位运算

260.只出现一次的数字III

原题地址:力扣每日一题:260.只出现一次的数字III

之前整理过本题及其扩展,详细说明了思路和做法,链接如下:
只出现一次的数字I,II,III

class Solution {
    public int[] singleNumber(int[] nums) {
        int eor = 0;
        for(int num : nums){
            eor ^= num;
        }
        int rightOne = eor & (~eor + 1);
        int onlyOne = 0;
        for(int num : nums){
            if((num & rightOne) == rightOne){
                onlyOne ^= num;
            }
        }
        return new int[]{onlyOne, eor ^ onlyOne};
    }
}

如果对您有帮助,请点赞关注支持我,谢谢!❤
如有错误或者不足之处,敬请指正!❤

你可能感兴趣的:(不易,力扣算法每日一题,算法,java,leetcode)