leetcode136. Single Number

来源:互联网 发布:h5获取json数据实例 编辑:程序博客网 时间:2024/06/07 05:33

这个题用异或做最简单。

直接疑惑到最后,因为异或结果相同为0,不同为1.

异或两次相同的值结果为0.

异或题解:

class Solution {  public:      int singleNumber(vector<int>& nums) {          int length = nums.size();      int result = 0 ;      for (int i=0; i<length; i++)      {          result ^= nums[i];      }      return result;      }  }; 

循环:

class Solution {public:    int singleNumber(vector<int>& nums) {        sort(nums.begin(),nums.end());        int n=nums.size();        for(int i=1;i<n-1;i++){            if(nums[i]==nums[i-1]||nums[i]==nums[i+1]) continue;            else return nums[i];        }        if(nums[n-1]!=nums[n-2])        return nums[n-1];        return nums[0];    }};


原创粉丝点击