【LintCode】 Single Number 落单的数

来源:互联网 发布:知乎马前卒是谁 编辑:程序博客网 时间:2024/05/20 18:43

给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。

样例
给出 [1,2,2,1,3,4,3],返回 4。

挑战
一次遍历,常数级的额外空间复杂度。

public class Solution {    /**     *@param A : an integer array     *return : a integer      */    public int singleNumber(int[] A) {        if (null == A || A.length == 0) {            return 0;        }        int n = A[0];        for(int i = 1; i < A.length; i++) {            n = n ^ A[i];//出现两次的数异或后为0,只剩出现一次的数。        }        return n;    }}
0 0
原创粉丝点击