LeetCode 190.颠倒二进制位

题目描述

颠倒给定的 32 位无符号整数的二进制位。

示例:

输入: 43261596
输出: 964176192
解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 ,
     返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。

进阶:
如果多次调用这个函数,你将如何优化你的算法?

思路

通过位运算wiki,依次截取n的二进制位的低位,放入result的高位。这一题是简单题,需掌握位运算

AC代码(Java)

public class Solution {
    // you need treat n as an unsigned value
    public int reverseBits(int n) {
        int ans=0;
        for(int i=0;i<32;i++)
            ans|=((n>>>i)&1)<<(31-i);
        return ans;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,689评论 0赞 13
  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 3,483评论 0赞 7
  • 六只兔子在森林里玩耍, 突然听到“咕咚”一声响, 吓了兔子们一大跳, 拔腿就往森林里面跑; 三只山羊在山坡上吃草,...
    0懒亮亮0阅读 597评论 0赞 0
  • 张晴瘫在看着狭小但实际很舒适的青旅太空舱里,手里拿着刚换不久的魅蓝3,眼神犹豫的在手机屏幕上滑动,不知道要不要给...
    伯牙的琴弦阅读 331评论 0赞 0
  • 第一章 明确我的学习目标 一、厘清误区,明确目标 课前思考: 达利欧的《原则》里面提到:对于快速学习和有效改变而言...
    天明喝可乐阅读 895评论 0赞 3

友情链接更多精彩内容