LeetCode-Single Number

题目:https://oj.leetcode.com/problems/single-number/

Given an array of integers, every element appears twice except for one. Find that single one.

Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

分析:任何两个相同元素取 异或 为0,任何数与 0 异或为自身。对数组中所有元素求异或,就能得到 Single Number。

源码:Java版本
算法分析:时间复杂度O(n),空间复杂度O(1)

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

你可能感兴趣的:(LeetCode)