LeetCode 136. Single Number(Java)

原题:
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的性质即可。


代码:

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

你可能感兴趣的:(LeetCode)