LC136 异或

int singleNumber(vector<int>& nums) {
    int l=nums.size();
    sort(nums.begin(),nums.end());
    if(l==1){
        return nums[0];
    }
    for(int i=0;i<l;i++){
        //cout<<nums[i]<<endl;
        if(i==0){
            if(nums[i]!=nums[i+1]){
                return nums[i];
            }
        }else if(i==l-1){
            if(nums[i]!=nums[i-1]){
                return nums[i];
            }
        }else{
            if(nums[i]!=nums[i+1]&&nums[i]!=nums[i-1]){
                return nums[i];
            }
        }
        
    }
    return -1;
}
/*
	异或
	a^a=0
	a^0=a
*/ 
int singleNumber(vector<int>& nums) {
    int ret = 0;
    for (auto e: nums) ret ^= e;
    return ret;
}
posted @   lwx_R  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示