leetcode 190. Reverse Bits
来源:互联网 发布:淘宝直播如何开通 编辑:程序博客网 时间:2024/06/06 03:36
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).
Follow up:
If this function is called many times, how would you optimize it?
Related problem: Reverse Integer
这道题很简答,就是做一个移位操作,其实也可以把整数转化二进制的字符串,然后反转字符串。
像这样的题很可能面试遇到。
代码如下:
public class Solution{ /* * 由于Java中没有无符号数的概念,所以要注意一下,下面是Java的移位运算符 * << 左移运算符,num << 1,相当于num乘以2 * >> 右移运算符,num >> 1,相当于num除以2 * >>> 无符号右移,忽略符号位,空位都以0补齐 * * */ // you need treat n as an unsigned value public int reverseBits(int n) { int res=0; for(int i=0;i<32;i++) { if( (n&1)==1 ) { res = (res<<1) +1; n = n>>>1; }else { res = res<<1; n = n>>>1; } } return res; }}
下面是C++的做法,就是直接作位运算
代码如下:
#include <iostream>#include <vector>#include <string>#include <map>#include <cmath>#include <algorithm>using namespace std;class Solution {public: uint32_t reverseBits(uint32_t n) { uint32_t result = 0; for (int i = 0; i < 32; i++) { result = (result << 1) + (n >> i & 1); } return result; }};
阅读全文
0 0
- 【LeetCode】190.Reverse bits
- LeetCode 190. Reverse Bits
- Leetcode 190. Reverse Bits
- 190. Reverse Bits LeetCode
- LeetCode *** 190. Reverse Bits
- LeetCode 190. Reverse Bits
- Leetcode-190. Reverse Bits
- Leetcode 190. Reverse Bits
- LeetCode-190.Reverse Bits
- [leetcode] 190. Reverse Bits
- Leetcode 190. Reverse Bits
- [Leetcode]190. Reverse Bits
- LeetCode 190. Reverse Bits
- [leetcode] 190. Reverse Bits
- leetcode 190. Reverse Bits
- [LeetCode] 190. Reverse Bits
- leetcode 190. Reverse Bits
- LeetCode 190. Reverse Bits
- Python学习笔记一(Python基础语法)
- PHP 7.0+ 微信图文群发的脚本参考
- Softmax回归
- 使用PhpMyAdmin远程可视化操作云服务器的MySQL数据库
- byte数组和long,int,short互相转换
- leetcode 190. Reverse Bits
- c++探究(三)指针
- Effective Java 类和接口 14.在公有类中使用访问方法而非公有域
- Android:res之shape制作圆角、虚线、渐变
- 深度学习时代的目标检测算法综述
- C++map的初始化
- C++中virtual(虚函数)的用法
- 朴素贝叶斯(Naive Bayes)
- SID和Application session 含义