LeetCode-136-只出現(xiàn)一次的數(shù)字

題目描述:給定一個非空整數(shù)數(shù)組,除了某個元素只出現(xiàn)一次以外,其余每個元素均出現(xiàn)兩次。找出那個只出現(xiàn)了一次的元素。
你的算法應(yīng)該具有線性時間復(fù)雜度。 你可以不使用額外空間來實(shí)現(xiàn)嗎?
示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/single-number/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:二進(jìn)制運(yùn)算
利用二進(jìn)制運(yùn)算的異或運(yùn)算操作符
^
,異或運(yùn)算就是二進(jìn)制位上相同位置的數(shù)字如果相同則為0,如果不同則為1,即0^0=0,1^0=1,0^1=1,1^1=0
。所以通過遍歷一遍數(shù)組,把每一個數(shù)字進(jìn)行異或運(yùn)算,由于重復(fù)的數(shù)字異或之后都是0,最后的結(jié)果就是只出現(xiàn)了一次的元素。
【每日寄語】 你的負(fù)擔(dān)將變成禮物,你受的苦將照亮你的路。
標(biāo)簽: