Leetcode - 只出现一次的数字

问题描述

给定一个非空整数数组,除了某个元素只出现一次以外,
其余每个元素均出现两次。找出那个只出现了一次的元素。


示例:

  • 输入: [2,2,1]
  • 输出: 1
  • 输入: [4,1,2,1,2]
  • 输出: 4

解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Test
public void testSingleNumber() {
int[] a = {1, 2, 2, 3, 3, 1, 4, 4, 5};
System.out.println(singleNumber(a));


}


/**
* 只出现一次的数字
*
* @param nums
* @return
*/
public int singleNumber(int[] nums) {
if (nums.length == 0 || nums == null) {
return 0;
}
int a = 0;
for (int num : nums) {
a ^= num;
}
return a;
}

Powered by Hexo

Copyright © 2016 - 2019 When I think of you, I smile. All Rights Reserved.

UV : | PV :