给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
本题采用异或运算。
^ 是异或运算符,异或的规则是 转换成二进制比较,相同为0,不同为1。
package Bean;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class Test {
public int singleNumber(int[] nums){
int m = 0;
for(int i = 0;i < nums.length;i++){
m = m^nums[i];
}
return m;
}
public static void main(String[] args) {
int[] num = {33,33,1,1,75};
Test t= new Test();
int n = t.singleNumber(num);
System.out.println(n);
}
}