一个数组除了一个数字之外其他数字都只出现了两次,请写程序找出这个出现一次的数字
利用位运算的异或性质:A ^ A=0 ,A ^ 0=A ,所以我们只需对数组每一个元素进行异或操作即可得出那个落单的数。
解题代码:
//代码实现 public static int f(int[]arr){ int res=0; //用于返回结果的变量 for(int i=0;i<arr.length;i++){ //对arr遍历,同时对每个元素进行异或处理 res^=arr[i]; } return res; }
原文:https://www.cnblogs.com/songchengyu/p/12590094.html