LintCode 落单的数

来源:互联网 发布:淘宝生鲜配送快递 编辑:程序博客网 时间:2024/04/28 15:37

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


样例

给出 [1,2,2,1,3,4,3],返回 4

挑战 

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

***********************************************************

异或

package LintCode;public class 落单的数 {public int singleNumber(int[] A) {if(A.length == 0)return 0;int a = A[0];for(int i=1;i<A.length;i++){a = a ^ A[i];}return a;    }public static void main(String[] args) {int[] A = {1,2,2,1,3,4,3};int a = new 落单的数().singleNumber(A);System.out.println(a);}}


0 0
原创粉丝点击