位运算--异或(^)

2018-10-18  本文已影响0人  m_5442

异或(^)运算

                    --同为假,异为真

异或结果:

(二进制数字)   11 ^ 11  ->00

                       10 ^ 01  ->11

应用例子(leetcode :  136. 只出现一次的数字)

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

public int solve(int [] nums){

        int temp = 0; 

        for(int i :nums){

            temp^=i;

        }

        return temp;

}

例如:输入:[2,2,1]

         异或操作(10进制数字)=>  0^2^2^1  =>  2^2^0^1(交换位置) =>  0^0^1 = >0^1 =>1

上一篇下一篇

猜你喜欢

热点阅读