标签:
/* * 190. Reverse Bits * 2016-6-6 by Mingyang * 我们只需要把要翻转的数从右向左一位位的取出来,然后加到新生成的数的最低位即可 * 我刚做的时候居然想如何转换数到二进制,根本不用n&1就可以取出个位上的数了 * 另外需要注意的就是 if ((n&1)==1)需要加括号 */ public int reverseBits(int n) { int res = 0; for (int i = 0; i < 32; ++i) { if ((n&1)==1) { res = (res << 1) + 1; } else { res = res << 1; } n = n >> 1; } return res; }
标签:
原文地址:http://www.cnblogs.com/zmyvszk/p/5566597.html