标签:des 1的个数 bsp 题目 desc class 进制 count int
1 public class Solution { 2 public int NumberOf1(int n) { 3 int count = 0; 4 int flag = 1; 5 while(flag!=0){ 6 if((flag & n)!=0) 7 count ++; 8 flag = flag<<1; 9 } 10 return count; 11 } 12 }
思路2:
结论:
n-1与n按位与 , 会把n最右边一个变成 0.
统计一下一共变了几次,就有几个1.
1 public class Solution { 2 public int NumberOf1(int n) { 3 int count = 0; 4 while(n!=0){ 5 count ++; 6 n=((n-1)&n); 7 } 8 return count; 9 } 10 }
标签:des 1的个数 bsp 题目 desc class 进制 count int
原文地址:http://www.cnblogs.com/zle1992/p/7787351.html