異或(^)運(yùn)算
????????????????????--同為假,異為真
異或結(jié)果:
(二進(jìn)制數(shù)字)? ?11 ^ 11? ->00
? ?????????????????????10 ^ 01? ->11
應(yīng)用例子(leetcode :? 136.?只出現(xiàn)一次的數(shù)字)
說(shuō)明:給定一個(gè)非空整數(shù)數(shù)組,除了某個(gè)元素只出現(xiàn)一次以外,其余每個(gè)元素均出現(xiàn)兩次。找出那個(gè)只出現(xiàn)了一次的元素。? ?
public int solve(int [] nums){
????????int temp = 0;?
? ? ? ? for(int i :nums){
? ? ? ? ? ? temp^=i;
? ? ? ? }
? ? ? ? return temp;
}
例如:輸入:[2,2,1]
? ? ? ? ?異或操作(10進(jìn)制數(shù)字)=>? 0^2^2^1? =>? 2^2^0^1(交換位置) =>? 0^0^1 = >0^1 =>1