zoukankan      html  css  js  c++  java
  • 力扣题解-136. 只出现一次的数字

    题目描述

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    说明:

    你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

    示例 1:

    输入: [2,2,1]
    输出: 1

    示例 2:

    输入: [4,1,2,1,2]
    输出: 4

    1、思路
    读完题的一瞬间异或的方法就冒出来了,试了试就A了。哈哈哈...

    异或:可以理解为不进位加法,如果两个相同的数字进行异或,那么结果等于0。

    整个数组异或之后只会剩下只出现一次的元素。

    2、代码

    class Solution {
        public int singleNumber(int[] nums) {
            int ans = 0;
            for(int i = 0; i < nums.length; i++){
                ans ^= nums[i];
            }
            return ans;
        }
    }
    
  • 相关阅读:
    POJ 1936 All in All
    POJ 2305 Basic remains
    POJ 2081 Recaman's Sequence
    MFC MDI 窗口函数执行顺序
    decompose
    不新建一个文档
    code mistake
    ...
    paper
    stereo
  • 原文地址:https://www.cnblogs.com/Z-Dey/p/12892260.html
Copyright © 2011-2022 走看看