mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
Create 476. Number Complement.md
This commit is contained in:
parent
a7188d3a10
commit
b8de092331
15
476. Number Complement.md
Normal file
15
476. Number Complement.md
Normal file
@ -0,0 +1,15 @@
|
||||
# [476. Number Complement](https://leetcode.com/problems/number-complement/description/)
|
||||
# 思路
|
||||
先将num的bit全部翻转,再看num有多少前导0,然后用一个合适的mask对之前的翻转结果进行与操作即可。
|
||||
# C++
|
||||
``` C++
|
||||
class Solution {
|
||||
public:
|
||||
int findComplement(int num) {
|
||||
if(num == 0) return 1;
|
||||
int i, res = ~num, mask=0xffffffff;
|
||||
while(mask & num) mask <<= 1;
|
||||
return res & ~mask;
|
||||
}
|
||||
};
|
||||
```
|
Loading…
Reference in New Issue
Block a user