给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
要求:满足线性时间复杂度,不使用额外空间。
个人解题思路:使用按位异或运算,按位异或的3个特点:
(1) 0 ^ 0=0,0^1=1 ( 0异或任何数=任何数)
(2) 1 ^ 0=1,1^1=0 (1异或任何数-任何数取反)
(3) 任何数异或自己=把自己置0
class SearchSingleNumber {
public int singleNumber(int[] nu
原创
2020-08-06 22:52:59 ·
578 阅读 ·
0 评论