首页 > 代码库 > LeetCode: Single Number

LeetCode: Single Number

这几天找实习被打击的太厉害了,从今天开始修炼算法。在Leetcode找了半天,只有这一道题会,顺手AC掉。

题目描述:有一个数组,里面的数几乎都是成对出现的,但有一个数只有一个,你的任务就是找出这个单个的数。

思路:按位异或直接搞定。

贴上代码吧,特别简单

public class Solution {
    public int singleNumber(int[] A) {
        for(int i=1; i < A.length; i++) {
            A[0]^=A[i];
        }
        return A[0];
    }
}

顺便贴一个不用临时变量的交换函数的代码:

a^=b^=a^=b


LeetCode: Single Number