本题开始的解题思路为:利用数组中元素的和进行计算,和大于等于下一个元素则:和-下一个元素;和小于下一个元素则:和+下一个元素。提交运行后发现该解法不符合有负数的测试用例,因此选择用异或。异或运算法则:相同为0;与0异或等于原数;满***换
import java.util.*;
public class Solution {
/**
*
* @param A int整型一维数组
* @return int整型
*/
public int singleNumber (int[] A) {
// write code here
int sum=A[0];
for(int i=1;i<A.length;i++){
sum^=A[i];
}
return sum;
}
}
京公网安备 11010502036488号