LeetCode 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?

 

 1 public class Solution {
 2     public int singleNumber(int[] A) {
 3             int singlenum = 0;
 4             HashSet<Integer> set = new HashSet<>();
 5             for (int i = 0; i < A.length; i++) {
 6                 if (set.contains(A[i])) {
 7                     set.remove(A[i]);
 8                 }else {
 9                     set.add(A[i]);
10                 }            
11             }
12             for (Integer integer : set) {
13                 singlenum=integer;
14             }
15             return singlenum;
16     }
17 }

 

posted @ 2014-09-03 11:22  birdhack  阅读(97)  评论(0编辑  收藏  举报