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 点击打开链接