数组 - Single Number
Single Number
描述:
Given an array of integers, every element appears twice except for one. Find that single one.
给定一个整形数组,除了其中一个出现一次其他元素均出现两次,找到这个元素。
Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
您的算法应该具有线性运行时复杂性(即时间复杂度为O(n) ),并且不适用额外的内存空间。
思路:
根据二进制的异或运算的特性(异为1,同为0)且0与任何数字进行异或运算的到的值均为这个数字的值来进行处理。
算法
public int singleNumber(int[] nums) {
int result = 0;
for(int i : nums) {
result ^= i;
}
return result;
}