当前位置: 首页 > news >正文

LeetCode190_190. 颠倒二进制位

LeetCode190_190. 颠倒二进制位

一、描述

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

提示:

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

示例 1:

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

示例 2:

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

提示:

输入是一个长度为 32 的二进制字符串

二、题解

方法:

1、转化为二进制,补全前面的0。
2、反转二级制字符串,然后转为整数,注意中间用Long转化一下,因为会超出int的范围。

/*** 190. Reverse Bits** 题意:反转32位无符号整数* 思路: 1、转化为二进制,补全前面的0。* 2、反转二级制字符串,然后转为整数,注意中间用Long转化一下,因为会超出int的范围。*/
public class LeetCode190 {public static void main(String[] args) {Solution190 s190 = new Solution190();System.out.println(s190.reverseBits(1));}
}class Solution190 {//AC Your runtime beats 4.31 % of java submissions.//600 / 600 test cases passed.	Status: Accepted	Runtime: 10 ms// you need treat n as an unsigned valuepublic int reverseBits(int n) {StringBuffer br = new StringBuffer();String n2 = Integer.toBinaryString(n);for (int i = 0; i < 32 - n2.length(); i++) {br.append('0');}br.append(n2);br.reverse();//System.out.println(br);//无符号数最大32个1,也就是4294967296,所以这里使用Long转化一下/*java中最多到2的32次方减一,也就是第一个0,后面31个都是1这里翻转的话就会出现第一个是1,后面31个是0的情况,超过了java的int范围,所以使用long转化一下。*/long res = Long.valueOf(br + "", 2);return (int) res;}
}

LeetCode 100. 相同的树
LeetCode 101. 对称二叉树
LeetCode 102. 二叉树的层序遍历
LeetCode 103. 二叉树的锯齿形层序遍历
LeetCode 104. 二叉树的最大深度
LeetCode 105. 从前序与中序遍历序列构造二叉树
LeetCode 107. 二叉树的层序遍历 II
LeetCode 108. 将有序数组转换为二叉搜索树
LeetCode 121. 买卖股票的最佳时机
LeetCode 122. 买卖股票的最佳时机 II
LeetCode 136. 只出现一次的数字
LeetCode 167. 两数之和 II - 输入有序数组
LeetCode 189. 轮转数组
LeetCode 190. 颠倒二进制位
LeetCode 191. 位1的个数



声明:
        题目版权为原作者所有。文章中代码及相关语句为自己根据相应理解编写,文章中出现的相关图片为自己实践中的截图和相关技术对应的图片,若有相关异议,请联系删除。感谢。转载请注明出处,感谢。


By luoyepiaoxue2014

B站: https://space.bilibili.com/1523287361 点击打开链接
微博: http://weibo.com/luoyepiaoxue2014 点击打开链接

http://www.lryc.cn/news/25749.html

相关文章:

  • atomic 原子操作
  • DataGear 制作基于Vue前端框架渲染的数据可视化看板
  • JavaFX Scene Builder 下载安装
  • dva( 轻量级的应用框架 )
  • 数据结构:堆的实现与建堆时间复杂度分析
  • 对“车辆销售配置器”的认识与理解
  • Linux编译器——gcc/g++(预处理、编译、汇编、链接)
  • Java 操作图片进行缩放旋转翻转加水印
  • 不能去演唱会现场就多听听耳机里的他们,教你用python来实现一个音乐播放器
  • CLion Debug 调试 Makefile 构建的 C 语言程序断点不起作用
  • ·神经网络
  • 【Java 多线程学习】
  • 【计算机考研408】快速排序的趟数问题 + PAT 甲级 7-2 The Second Run of Quicksort
  • CSS-Grid(网格)布局
  • 软件测试4
  • 996的压力下,程序员还有时间做副业吗?
  • 每日学术速递3.1
  • 金融行业数据模型
  • 【面试题】2023前端vue面试题及答案
  • (哈希查找)leetcode128. 最长连续序列
  • js中splice方法和slice方法
  • c++ argparse
  • 内大892复试真题16年
  • 面试题 05.02. 二进制数转字符串
  • MySQL数据更新操作
  • C# 封装
  • 每日学术速递3.2
  • PCBA方案设计——LCD体重电子秤方案
  • 动态规划--背包问题
  • 从0开始学python -45