Linked Url:https://leetcode.com/problems/single-number/
Given a non-empty array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
Example 1:
Input: [2,2,1] Output: 1
Example 2:
Input: [4,1,2,1,2] Output: 4
solution:
The method is xor option, principles is : 0 xor 0 = 0; 0 xor 1 = 1;any num xor itself = 0,so we pass the array and xor its elements all,so the result which is we want.
Ac code follow:
1 class Solution { 2 public: 3 int singleNumber(vector<int>& nums) { 4 int res = nums[0]; 5 for(int i = 1;i < nums.size();++i) 6 res = nums[i]^res; 7 return res; 8 } 9 };
内容来源于网络如有侵权请私信删除
- 还没有人评论,欢迎说说您的想法!