476 - Number Complement

 JAVA

  • class Solution {
        public int findComplement(int num) {
            int ans = 0;
            boolean find = false;
            for (int i = 30; i >= 0; --i) {
                int b = num & (1 << i);
                if (!find && b == 0) {
                    continue;
                }
                find = true;
                if (b == 0) {
                    ans |= (1 << i);
                }
            }
            return ans;
        }
    }

C++

  • class Solution {
    public:
        int findComplement(int num) {
            int ans = 0;
            bool find = false;
            for (int i = 30; i >= 0; --i) {
                int b = num & (1 << i);
                if (!find && b == 0) continue;
                find = true;
                if (b == 0) ans |= (1 << i);
            }
            return ans;
        }
    };

Comments