Skip to content

Latest commit

 

History

History
38 lines (29 loc) · 557 Bytes

File metadata and controls

38 lines (29 loc) · 557 Bytes

##Single Number

Given 2*n + 1 numbers, every numbers occurs twice except one, find it.

Have you met this question in a real interview? Yes
Example
Given [1,2,2,1,3,4,3], return 4

####Challenge One-pass, constant extra space.

####Tags Expand Greedy

####解法

  • 异或就可以
public class Solution {
	/**
	 *@param A : an integer array
	 *return : a integer
	 */
	public int singleNumber(int[] A) {
		if (A.length == 0) {
			return 0;
		}
		int n = A[0];
		for(int i = 1; i < A.length; i++) {
			n = n ^ A[i];
		}

		return n;
	}
}