关闭

Reverse Bits

标签: Bit Manipulation
117人阅读 评论(0) 收藏 举报
分类:
public class Solution {
    // you need treat n as an unsigned value
    public int reverseBits(int n) {
        for(int i = 0; i < 16; i++) {
            n = reversePair(n, i, 32 - i - 1);
        }
        return n;
    }
    private int reversePair(int n, int right, int left) {
        int a = (n >> right) & 1;
        int b = (n >> left) & 1;
        if ((a ^ b) != 0) {
            return n = n ^ (1 << right | 1 << left);
        }
        return n;
    }
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:26445次
    • 积分:2349
    • 等级:
    • 排名:第15950名
    • 原创:214篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条