IMWeb提升营Day2 | 训练题11:二进制中1的个数
2017-05-27 15:29
225 查看
题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路
/* * 思路:就是很简单的左移动操作,挨个查,注意int有32位,注意右移操作会让负数引入1,所以不要用右移动 */ class Solution { public: int NumberOf1(int n) { if(n == 0) return 0; int cnt; while(n){ if((n & 0x80000000) == 0x80000000){ cnt++; } n = n << 1; } return cnt; } };
相关文章推荐
- IMWeb提升营Day2 | 训练题9:变态跳台阶
- IMWeb提升营Day2 | 训练题10:矩形覆盖
- IMWeb提升营Day2 | 训练题12:数值的整数次方
- IMWeb提升营Day1 | 训练题5: 用两个栈实现队列
- IMWeb提升营Day5 | 训练题26:二叉搜索树与双向链表
- IMWeb提升营Day6 | 训练题35:数组中的逆序对
- IMWeb提升营Day6 | 训练题36:两个链表的第一个公共结点
- IMWeb提升营Day3 | 训练题17:树的子结构
- IMWeb提升营Day1 | 训练题3:从尾到头打印链表
- IMWeb提升营Day4 | 训练题23:二叉搜索树的后序遍历序列
- IMWeb提升营Day7 | 训练题37:数字在排序数组中出现的次数
- IMWeb提升营Day1 | 训练题4:重建二叉树
- IMWeb提升营Day4 | 训练题19:顺时针打印矩阵
- IMWeb提升营Day4 | 训练题24:二叉树中和为某一值的路径
- IMWeb提升营Day7 | 训练题38:二叉树的深度
- IMWeb提升营Day7 | 训练题39:平衡二叉树
- IMWeb提升营Day3 | 训练题14:链表中倒数第K个节点
- IMWeb提升营Day3 | 训练题15:反转链表
- IMWeb提升营Day3 | 训练题16:合并两个排序的链表
- IMWeb提升营Day4 | 训练题21:栈的压入、弹出序列