剑指offer:二进制中1的个数

一、题目描述

  输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

二、思路

  将整数转为二进制字符串,然后依次遍历字符串中的每个字符计算‘1’的个数。

//将整数n转换为对应二进制数的字符串
Integer.toBinaryString(n)

  

  

public class Solution {
    public int NumberOf1(int n) {
    	int res = 0;
    	if(n==0){
    		return res;
    	}
    	
    	String num = Integer.toBinaryString(n);
    	System.out.println(num);
    	for(int i=0;i<num.length();i++){
    		if(num.charAt(i)=='1'){
    			res++;
    		}
    	}
    	return res;
    }
}

  

 

posted @ 2020-01-27 22:43  DXYE  阅读(204)  评论(0编辑  收藏  举报