Link: https://oj.leetcode.com/problems/single-number/
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?
三种解法:排序后统计;hashmap;位运算。
位运算:Time: O(n), Space: O(1)
一次过,可以不再做。
public class Solution {
public int singleNumber(int[] A) {
int result = A[0];
for(int i = 1; i < A.length; i++){
result = result ^ A[i];
}
return result;
}
}