693. 交替位二进制数 给定一个正整数,检查他是否为交替位二进制数:换句话说,就是他的二进制数相邻的两个位数永不相等。 示例 1: 输入: 5 输出: True 解释: 5的二进制数是: 101 ###Solution: 123456789 class {public: bool hasAlternatingBits(int n) { int temp = n ^ (n >> 1); //有效位全为1 再加1, 得到有效位前面为1,后面全为0,再与该数与,则全部清零。 return (temp & (temp+1)) == 0; }}; 赞微海报分享
近期评论