只出現一次的數字(異或)leetcode136

首先數學基礎web

一個數與自身異或是0,一個數與0異或是自己

異或具備交換率。

舉個栗子:2  3  4  2  3
       全部數字依次異或運算:2 xor 3 xor 4 xor 2 xor 3 = (2 xor 2) xor (3 xor 3) xor 4= 0 xor 0 xor 4 = 4
       給定一個非空整數數組,除了某個元素只出現一次之外,其他每一個元素均出現兩次。找出那個只出現了一次的元素。

說明:算法

你的算法應該具備線性時間複雜度。 你能夠不使用額外空間來實現嗎?數組

示例 1:svg

輸入: [2,2,1]
輸出: 1
示例 2:spa

輸入: [4,1,2,1,2]
輸出: 4.net

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

本文分享 CSDN - 希境。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。code

相關文章
相關標籤/搜索