【C++刷题】位运算
一、二进制中最右侧的1
1、位1的个数
(1)题目链接
(2)解析
(3)代码
2、比特位计数
(1)题目链接
(2)解析
(3)代码
3、汉明距离
(1)题目链接
(2)解析
两个数异或一下,因为异或一下不同的数为1,相同的数为0,所以能够找到有几个不同数的位置了,再逐个干掉右边的1,ret++即可。
(3)代码
二、异或规律
1、只出现一次的数字
(1)题目链接
(2)解析
(3)代码
2、只出现一次的数字III
(1)题目链接
(2)解析
(3)代码
三、判定字符是否唯一
1、题目链接
2、解析
3、代码
四、丢失的数字
1、题目链接
2、解析+代码
五、两整数之和
1、题目链接
2、解析
先疑惑求一个值,再按位与右移算出另一个控制的进位值。