【LeetCode技巧总结】位运算操作技巧

本文详细介绍了在LeetCode中常用的位运算技巧,包括按位与运算符的奇偶性判断、2的正整数幂检测以及统计二进制中1的个数。此外,还探讨了按位异或运算符在不使用临时变量交换数值及查找数组中只出现一次的元素的应用。通过这些位运算技巧,可以提高解题效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:張張張張
github地址:https://github.com/zhanghekai
【转载请注明出处,谢谢!】


★★★由于位运算直接对内存数据进行操作,不需要转成十进制,直接在二进制上进行运算,因此处理速度非常快!!!

一、按位“与”运算符

  • 按位“与”(Bitwise AND),运算符号为: & \& &
  • a & b a\&b a&b 的操作结果: a 、 b a、b ab中对应位同时为1,则对应结果位也为1,其余情况对应结果位为0。
    例:
    10010001101000101011001111000 &     111111100000000 − − − − − − − − − − − − − − − − 101011000000000 10010001101000101011001111000\\ \&\qquad\qquad\qquad\;\,111111100000000\\----------------\\\qquad\qquad\qquad\quad101011000000000 10010001101000101011001111000&111111100000000101011000000000

1. 用于整数的奇偶性判断

\qquad 一个整数 a a a a & 1 a\&1 a&1这个表达式可以用来判断 a a a的奇偶性。二进制的末尾位为 0 0 0表示偶数,末尾位为 1 1 1表示奇数。使用 a % 2 a\%2 a%2来判断奇偶性和 a & 1 a\&1 a&1是一样的作用,但是 a & 1 a\&1 a&1要快好多。

例:当 a a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值