首页 > 代码库 > leetcode_476:Number Complement(Bit Manipulation)(easy)
leetcode_476:Number Complement(Bit Manipulation)(easy)
Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.
Note:
- The given integer is guaranteed to fit within the range of a 32-bit signed integer.
- You could assume no leading zero bit in the integer’s binary representation.
Example 1:
Input: 5 Output: 2 Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.
Example 2:
Input: 1 Output: 0 Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.
solution:取反码,不能直接取反运算。
Python实现:
class Solution(object): def findComplement(self, num): """ :type num: int :rtype: int """ i = 1 while i <= num: i = i << 1 return (i - 1)^num
leetcode_476:Number Complement(Bit Manipulation)(easy)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。