LeetCode 题解(145): 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?

题解:

异或。

C++版:

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int result = 0;
        for(auto i : nums)
            result = result ^ i;
        return result;
    }
};

Java版:

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

Python版:

class Solution:
    # @param {integer[]} nums
    # @return {integer}
    def singleNumber(self, nums):
        result = 0
        for i in nums:
            result = result ^ i
        return result


你可能感兴趣的:(Algorithm,LeetCode,面试题)