首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典:颠倒二进制位

#yyds干货盘点# LeetCode程序员面试金典:颠倒二进制位

时间:2023-06-03 22:01:12浏览次数:38  
标签:yyds 符号 二进制位 金典 示例 整数 二进制 int 输入

1.简述:

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

提示:

请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。

在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。

 

示例 1:

输入:n = 00000010100101000001111010011100

输出:964176192 (00111001011110000010100101000000)

解释:输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,

    因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。

示例 2:

输入:n = 11111111111111111111111111111101

输出:3221225471 (10111111111111111111111111111111)

解释:输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293,

    因此返回 3221225471 其二进制表示形式为 10111111111111111111111111111111 。

2.代码实现:

public class Solution {
    public int reverseBits(int n) {
        int rev = 0;
        for (int i = 0; i < 32 && n != 0; ++i) {
            rev |= (n & 1) << (31 - i);
            n >>>= 1;
        }
        return rev;
    }
}

标签:yyds,符号,二进制位,金典,示例,整数,二进制,int,输入
From: https://blog.51cto.com/u_15488507/6408928

相关文章

  • # yyds干货盘点 # #经验分享# #网络爬虫# #数据分析# #Python# #每日打卡# #进阶学习#
    大家好,我是皮皮。一、前言前几天在Python群【洋洋】问了一个Python基础的问题,这里拿出来给大家分享下。二、实现过程这里【kim】给出了代码,如下所示:的确满足了粉丝的需求。很多人应该和我一样,想到的是zip吧。zip完全可以,可是他说要for,所以上面演示的是for循环。那么如果通过zip函数......
  • 还在用BeanUtils拷贝对象,MapStruct才是yyds | 附源码
    前几天,远在北京的小伙伴在群里抛出了“MapStruct”的概念。对于只闻其名,未见其人的我来说,决定对其研究一番。本文我们就从MapStruct的概念出发,通过具体的代码示例来研究它的使用情况,最后与“市面上”的其它工具来做个对比!官方介绍首先我们打开MapStruct的官网地址,映入眼帘的就......
  • 二进制位交换,反转,与统计1的个数
    问题一:给一个整数v,求它的二进制表示中从右往左数第x位和第y位交换后的值(从0开始计数)。 分析:举个例子,如果v的二进制表示为XXXXaXXXXXXbX,我们交换第1位和第8位。我们是这样做的:先把这两位的值都取零后的值保存在一个变量里面,即tmp=XXXX0XXXXXX0X,然后再取ans=0000b000000a0,那么......
  • #yyds干货盘点#Linux编辑器vim使用
    vim:是一款编辑器,只负责写代码;相当于windows的记事本;gcc:是一款编译器,只负责程序的翻译;gdb:是一款调试器,只负责程序的调试;vim是一个功能强大的多模式编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。Vim没有菜单,只有命令。命令模式(默认):输入的任何......
  • # yyds干货盘点 # 使用PyInstaller工具将Python程序打包成Mac可执行文件步骤
    大家好,我是皮皮。一、前言前几天在Python钻石群【JethroShen】问了一个Python打包的问题,这里拿出来给大家分享下。二、实现过程这里【eric】问了【ChatGPT】,并给出了代码,如下所示:在Mac系统中,Python程序不能直接打包成.exe可执行文件,因为.exe是Windows系统下的可执行文件格式,而Mac......
  • #yyds干货盘点# LeetCode程序员面试金典:填充每个节点的下一个右侧节点指针 II
    题目:给定一个二叉树:structNode{ intval; Node*left; Node*right; Node*next;}填充它的每个next指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将next指针设置为NULL。初始状态下,所有 next指针都被设置为NULL。 示例1:输入:root=[1,2,3......
  • #yyds干货盘点# LeetCode程序员面试金典:填充每个节点的下一个右侧节点指针
    题目:给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:structNode{ intval; Node*left; Node*right; Node*next;}填充它的每个next指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将next指针设置为NUL......
  • #yyds干货盘点# LeetCode程序员面试金典:二叉搜索树迭代器
    1.简述:实现一个二叉搜索树迭代器类BSTIterator,表示一个按中序遍历二叉搜索树(BST)的迭代器:BSTIterator(TreeNoderoot)初始化BSTIterator类的一个对象。BST的根节点root会作为构造函数的一部分给出。指针应初始化为一个不存在于BST中的数字,且该数字小于BST中的任何元素。b......
  • Linux 常用命令大全【yyds干货盘点4】
    1. 文本处理catfile1file2...|command<>file1_in.txt_or_file1_out.txtgeneralsyntaxfortextmanipulationusingPIPE,STDINandSTDOUTcatfile1|command(sed,grep,awk,grep,etc...)>result.txt合并一个文件的详细说明文本,并将简介写入一个新文件中ca......
  • #yyds干货盘点# LeetCode程序员面试金典:二叉树展开为链表
    题目:给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点,而左子指针始终为null。展开后的单链表应该与二叉树先序遍历顺序相同。 示例1:输入:root=[1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,......