题目链接
英文链接:https://leetcode.com/problems/number-complement/
中文链接:https://leetcode-cn.com/problems/number-complement/
题目详述
给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。
注意:
- 给定的整数保证在32位带符号整数的范围内。
- 你可以假定二进制数不包含前导零位。
示例 1:
1 | 输入: 5 |
示例 2:
1 | 输入: 1 |
题目详解
方法一:逐位取反相加。
1 | public class LeetCode_00476 { |
方法二:得到取反后与最后的几位数的掩码进行 &
运算,或者直接与掩码进行异或也能达到取反的效果。
1 | public class LeetCode_00476 { |