LeetCode:Reverse Bits
2015-11-20 15:37
375 查看
Reverse Bits
Total Accepted: 43722 TotalSubmissions: 150010 Difficulty: Easy
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as00111001011110000010100101000000).
Follow up:
If this function is called many times, how would you optimize it?
Related problem: Reverse Integer
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
Subscribe to see which companies asked this question
思路:
1.假设只有8位,n=0000 1101,要转化成ret=10110000;
2.首先ret=00000000;
3.判断n的最后一位是0还是1,int b=n&1,n>>=1;
4.ret = ret | b,最后一位放到ret的最后一位,ret<<=1;
5.if(i--<8)转3;(这里i初值为8);
code:
class Solution { public: uint32_t reverseBits(uint32_t n) { int ret=0; int i=32; while(i--) { ret<<=1;// 这里ret先移位,再赋值,因为当n取得最高位的时候,ret不需要再移位 ret |= n&1; n>>=1; } return ret; } };
相关文章推荐
- asp.net页面跳转sessionid会变
- 【转】Jmeter基础之——jmeter基础概念
- JAVA环境变量配置
- Spring、Struts2+Spring+Hibernate整合步骤
- MAKEFILE
- lwip包缓冲区pbufs
- 数据库连接池原理
- PLSQL 实现split
- 【Leet Code】31. Next Permutation---Medium
- Ubuntu初体验
- Codeforce#331 (Div. 2) A. Wilbur and Swimming Pool(谨以此题来纪念我的愚蠢)
- mongodb 在Linux下的增删改查和用nodejs连接mongodb
- 【转】JMeter基础之——一个简单的性能测试
- Spring、Struts2+Spring+Hibernate整合步骤
- 《需求分析与系统设计》读书笔记之二
- android studio 使用 SVN
- Tomcat中server.xml文件详细配置介绍
- jquery 操作select
- javax.comm初步探索
- smokeping 安装流程