[抄题]:

Reverse bits of a given 32 bits unsigned integer.

Example:

Input: 43261596
Output: 964176192
Explanation: 43261596 represented in binary as 00000010100101000001111010011100,
  return 964176192 represented in binary as 00111001011110000010100101000000.

[暴力解法]:

时间分析:

空间分析:

[优化后]:

时间分析:

空间分析:

[奇葩输出条件]:

[奇葩corner case]:

[思维问题]:

[一句话思路]:

32位中的每一位都左移 留出空缺、&1取出最后一位、右移丢掉

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

  1. &1相同后即可+1,统计1 的个数

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

左移 留出空缺、&1取出最后一位、右移丢掉

[复杂度]:Time complexity: O() Space complexity: O()

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[关键模板化代码]:

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

[代码风格] :

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

最新文章

  1. 细说SaaS BI国际市场众生相,你准备好了么?
  2. 如何在Android Studio中添加RecyclerView-v7支持包
  3. ubuntu 14.04 重复登录问题解决方法
  4. js日历表
  5. 为OpenResty增加nginx_upload_module模块
  6. 实现UITableView循环利用
  7. Oracle的DDL、DML、DCL
  8. DB2因表空间不够产生load表失败
  9. image即时上传
  10. Bash 常用快捷键(转)
  11. [LeetCode] Top K Frequent Words 前K个高频词
  12. iOS开发多线程之NSThread
  13. echarts 图的点击事件(含:点击重复触发的问题及其解决方法)
  14. React-理解Redux
  15. C++拷贝构造函数的调用时机
  16. C语言复制图片文件
  17. 两个简单的API限流实现方案
  18. mysql实战优化之九:MySQL查询缓存总结
  19. Oracle存储过程简单实例
  20. Linux内核0.11 setup文件说明

热门文章

  1. 瀑布流下滑 发送ajax
  2. 神奇的TextField(2)
  3. 安装Oracle数据库操作步骤
  4. 模糊聚类算法(FCM)
  5. alpine docker 镜像 时区问题
  6. checkStype和findBugs校验
  7. 实现一个自定义&lt;table&gt;标签
  8. Crypto 加密解密
  9. Svn使用遇到的错误
  10. java代码多线程实现如下