136. Single Number

Posted skillking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了136. Single Number相关的知识,希望对你有一定的参考价值。

一、题目

  1、审题

技术分享图片

  2、分析

    给出一个非空的只有一个元素出现一次其他元素均出现两次的整形数组,求出出现一次的该元素。 (不使用额外的空间,而且时间复杂度为线性)

 

二、解答

  1、思路: 

    采用异或(^) 运算符。

    1 ^ 1 = 0 ^ 0 = 0;1 ^ 0 = 1;

    故,a ^  b ^ a = b

    // ^ : 异或, 1^1 = 0, 0^1 = 1 
    public int singleNumber(int[] nums) {
     
        for (int i = 1; i < nums.length; i++) {
            nums[0] ^= nums[i];
        }
        
        return nums[0];
    }
    

 

以上是关于136. Single Number的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode之136. Single Number

136.Single Number

LeetCode136 Single Number, LeetCode137 Single Number II, LeetCode260 Single Number III

136. Single Number

136. Single Number

136. Single Number