[Leetcode] 136. Single Number
2015-04-12 00:37
417 查看
Given an 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?
这道题比较特殊,可以用异或来做
因为A XOR A = 0,且XOR运算是可交换的,于是,对于实例{2,1,4,5,2,4,1}就会有这样的结果:
就把只出现了一次的元素(其余元素均出现两次)给找出来了,更general的做法要看single number ii
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
这道题比较特殊,可以用异或来做
因为A XOR A = 0,且XOR运算是可交换的,于是,对于实例{2,1,4,5,2,4,1}就会有这样的结果:
(2^1^4^5^2^4^1) => ((2^2)^(1^1)^(4^4)^(5)) => (0^0^0^5) => 5
就把只出现了一次的元素(其余元素均出现两次)给找出来了,更general的做法要看single number ii
public class Solution { public int singleNumber(int[] A) { if(A == null || A.length == 0) return 0; int result = 0; for(int i = 0; i < A.length; i++){ result ^= A[i]; } return result; } }
相关文章推荐
- Leetcode 136 Single Number
- [LeetCode 136] Single Number
- 【LeetCode-136】Single Number(C++)
- Leetcode-136. Single Number
- 【LeetCode】136.Single Number_EASY(十)
- Leetcode 136. Single Number
- LeetCode-136. Single Number-Attemped using C
- [LeetCode]136. Single Number
- LeetCode-Hash-136. Single Number
- [LeetCode]136 Single Number
- Leetcode_136_Single Number
- LeetCode 136: Single Number
- LeetCode 136 Single Number
- [LeetCode] 136--Single Number --Medium--
- LeetCode 136 -Single Number ( JAVA )
- LeetCode 136:Single Number(异或操作)
- LeetCode 136. Single Number
- LeetCode之136. Single Number
- leetcode: (136) Single Number
- leetcode 136. Single Number