zoukankan      html  css  js  c++  java
  • LeetCode_476. Number Complement

    476. Number Complement

    Easy

    Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.

    Note:

    1. The given integer is guaranteed to fit within the range of a 32-bit signed integer.
    2. 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.
    

    Example 2:

    Input: 1
    Output: 0
    Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.
    package leetcode.easy;
    
    public class NumberComplement {
    	public int findComplement(int num) {
    		int complement = 0;
    		int pos = 0;
    		while (num > 0) {
    			if ((num & 1) == 0) {
    				complement |= (1 << pos);
    			}
    
    			pos++;
    			num >>>= 1;
    		}
    
    		return complement;
    	}
    
    	@org.junit.Test
    	public void test() {
    		System.out.println(findComplement(5));
    		System.out.println(findComplement(1));
    	}
    }
    
  • 相关阅读:
    数据类型的总结
    typeof加括号和不加括号的区别
    排序
    数据类型分为哪两类
    css中需要更小的字体如何实现
    一些细节注意点
    数值转换题
    如何用分支结构计算年份
    Scout YYF I
    D. AND, OR and square sum
  • 原文地址:https://www.cnblogs.com/denggelin/p/12029740.html
Copyright © 2011-2022 走看看