LeetCode: Single Number

来源:互联网 发布:linux查看当前版本号 编辑:程序博客网 时间:2024/06/11 23:49
class Solution {
public:
    int singleNumber(int A[], int n) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        int ans = 0;
        bool flag = true;
        if(n==0)
            return ans;
        if(A[0]<0){
            A[0] = -A[0];
            flag = !flag;
        }
        ans = A[0];
        for(int i=1;i<n;i++){
            if(A[i]<0){
                A[i] = -A[i];
                flag = !flag;
            }
            ans = ans^A[i];
        }
        if(flag==false)
            ans = -ans;
        return ans;
    }
};