首先数学基础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