136. 只出现一次的数字

https://leetcode-cn.com/problems/single-number/

  • 自己的解答
class Solution {
    public int singleNumber(int[] nums) {
       for(int i=0;i
  • 改进异或方法

异或性质

  1. 任何数字和0做异或,结果还是那个数字
  2. 任何数字与自身做异或,结果是0
  3. 异或满足交换律和结合律

因此,数组中的全部元素的异或运算结果即为数组中只出现一次的数字。

class Solution {
    public int singleNumber(int[] nums) {
        int res=0;
        for(int num:nums){
            res ^=num;
        }
        return res;
    }
}

你可能感兴趣的:(136. 只出现一次的数字)