您的位置:首页 > 编程语言 > C语言/C++

leetcode 476 Number Complement C++

2017-02-15 23:26 447 查看
这道题就是靠位操作,按理说只要返回原来的反就可以了,但是前边的0要过滤掉,所以,要想办法屏蔽前边的0,。然后后边用全部为1的掩码与一下原来的数的反即可。

int findComplement(int num) {
unsigned int mask = ~0;
while(num&mask) mask <<= 1;
return ~mask & ~num;
}

我参考了高票答案,确实牛逼啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 LeetCode string c++