力扣刷题136.只出现一次的数字

力扣刷题136.只出现一次的数字,第1张


注意:题目的要求是线性的时间复杂度和常数空间复杂度。
所以考虑的是位运算。可使用异或运算。
异或运算自己和自己运算为0,和0异或结果为本身。
在这里插入图片描述

class Solution {
    public int singleNumber(int[] nums) {
       int single = 0;
       for(int i = 0;i < nums.length; i++){
           single ^=nums[i];
       }
       return single;
    }
}

在这里注意一点:
在java中,^符号表示异或,而不是幂次方,需要注意。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/877698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存