首页 > 其他分享 >【leetcode】颠倒二进制位

【leetcode】颠倒二进制位

时间:2023-03-23 21:06:01浏览次数:52  
标签:符号 二进制位 示例 整数 颠倒 二进制 int leetcode 输入


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

 

示例 1:

输入: 00000010100101000001111010011100
输出: 00111001011110000010100101000000
解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,
      因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。

示例 2:

输入:11111111111111111111111111111101
输出:10111111111111111111111111111111
解释:输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293,
      因此返回 3221225471 其二进制表示形式为 10101111110010110010011101101001。

 

提示:

  • 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
  • 在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825

 

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


public class Solution {
    // you need treat n as an unsigned value
    public int reverseBits(int n) {
        int m = 0;
        for(int i=0;i<32;i++) {
            m<<=1;
            m = m |(n&1);
            n>>=1;
        }
        return m;
    }
}

 

标签:符号,二进制位,示例,整数,颠倒,二进制,int,leetcode,输入
From: https://blog.51cto.com/u_6813689/6145939

相关文章

  • LeetCode剑指 Offer 05. 替换空格
    题目描述:请实现一个函数,把字符串s中的每个空格替换成"%20"。 示例1:输入:s="Wearehappy."输出:"We%20are%20happy." 限制:0<=s的长度<=10000  //使......
  • #yyds干货盘点# LeetCode面试题:插入区间
    1.简述:给你一个无重叠的,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1:输入:i......
  • 代码随想录Day7-Leetcode454. 四数相加 II,383. 赎金信 ,15. 三数之和 ,18. 四数之和
    454.四数相加II这个第一时间没想出来怎么做的;后面看了题解才发现可以两两分组;绝了/***@param{number[]}nums1*@param{number[]}nums2*@param{number[......
  • [LeetCode] Power of Two
    判断2的次方数这道题让我们判断一个数是否为2的次方数,而且要求时间和空间复杂度都为常数我们来观察下2的次方数的二进制写法的特点:1    2      4   ......
  • 【leetcode-数组】有序矩阵中第K小的元素
    题目:给定一个 nxn 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。 示例:matrix=[......
  • 【leetcode-数组】对角线遍历
    题目:给定一个含有MxN个元素的矩阵(M行,N列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 示例:输入:[[1,2,3],[4,5,6],[7,8......
  • 【leetcode-字符串】翻转字符串里的单词
    题目:给定一个字符串,逐个翻转字符串中的每个单词。 示例1:输入:"theskyisblue"输出: "blueisskythe"示例2:输入:" helloworld! "输出: "world!hello"......
  • 【leetcode-数组】长度最小的子数组
    题目:给定一个含有 n 个正整数的数组和一个正整数 s,找出该数组中满足其和 ≥s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回0。示例: 输入:s=7......
  • 【leetcode-数组】最大连续1的个数
    题目:给定一个二进制数组,计算其中最大连续1的个数。示例1:输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续1,所以最大连续1的个数是3.注意:输入的数组......
  • leetcode-设置交集大小至少为2
    题目:一个整数区间[a,b](a<b)代表着从a到b的所有连续整数,包括a和b。给你一组整数区间intervals,请找到一个最小的集合S,使得S里的元素与区间intervals中的每......