任何數異或0值不變,任何數與自己異或值爲0。
因此一個數兩次異或同一個數,值不變。
/**
* 任何數異或0值不變,任何數與自己異或值爲0。
* 因此一個數兩次異或同一個數,值不變。
*/
public void findSingle() {
int[] arr = {1, 2, 3, 4, 5, 4, 3, 2, 1};
int t = arr[0];
for (int i = 1; i < arr.length; i++) {
t ^= arr[i];
}
System.out.println("single = " + t);
}
打印結果:single = 5