476. Number Complement
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了476. Number Complement相关的知识,希望对你有一定的参考价值。
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.
首先得到输入的整数的二进制有x位,再将输入的输与x位的1按位异或
C++(6ms):
1 class Solution { 2 public: 3 int findComplement(int num) { 4 int a = ~0 ; 5 while(num&a){ 6 a<<=1; 7 } 8 a=~a; 9 return num^a; 10 } 11 };
以上是关于476. Number Complement的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 476. Number Complement
[leetcode-476-Number Complement]
LeetCode(476): Number Complement