【LeetCode热题100】--136.只出现一次的数字
136.只出现一次的数字
使用哈希表:
class Solution {public int singleNumber(int[] nums) {Map<Integer,Integer> map = new HashMap<>();for(int num:nums){Integer count = map.get(num);if(count == null){count = 1;}else{++count;}map.put(num,count);}for(int val:map.keySet()){if(map.get(val) == 1){return val;}}return 0;}
}
使用异或:
- 任何数和0异或都是原来的数
- 任何数和自身异或结果是0
class Solution {public int singleNumber(int[] nums) {int single = 0;for (int num : nums) {single ^= num;}return single;}
}