leetcode 476 Number Complement

来源:互联网 发布:最靠谱的网络兼职 编辑:程序博客网 时间:2024/09/21 06:18

Problem:
给一个整数,求它对应的没有前导0的二进制形式取反。

class Solution {public:    int findComplement(int num) {        int idx = 30;        //找到这个数对应的二进制共有几位        while((num&(1<<idx)) == 0 && idx >= 0)            idx--;        idx++;        //将其与对应的二进制位求异或        num = num^((1<<idx)-1);        return num;    }};
1 0
原创粉丝点击