1. 程式人生 > >LintCode 82. 落單的數

LintCode 82. 落單的數

public ron write span 異或運算 nbsp 遍歷 找到 空間

題目:給出2*n + 1 個的數字,除其中一個數字之外其他每個數字均出現兩次,找到這個數字。

樣例

給出 [1,2,2,1,3,4,3],返回 4

挑戰

一次遍歷,常數級的額外空間復雜度

解:異或運算A^A=0,A^A^A=0^A=A

class Solution {
public:
    /*
     * @param A: An integer array
     * @return: An integer
     */
    int singleNumber(vector<int> &A) {
        // write your code here
int ans = 0; for(int i=0,sz=A.size(); i<sz; ++i) ans ^= A[i]; return ans; } };

LintCode 82. 落單的數