LeetCode Reverse Bits
2015-09-23 23:32
246 查看
原题链接在这里:https://leetcode.com/problems/reverse-bits/
新学了一种API, Integer.reverse()可以直接返回binary的reverse. 参考链接:http://www.tutorialspoint.com/java/lang/integer_reverse.htm
Method 2 取出n最后一位digit,res左移一位后加上digit. 需要注意的是loop中需要让res先左移一位再加digit, 若是在loop中先写加digit再左移会把首位溢出掉。
e.g. 如果是 32位的int, 其实能够左移的只有31位。
Time Complexity: O(1). 一共左移了32位. Space O(1).
AC Java:
新学了一种API, Integer.reverse()可以直接返回binary的reverse. 参考链接:http://www.tutorialspoint.com/java/lang/integer_reverse.htm
Method 2 取出n最后一位digit,res左移一位后加上digit. 需要注意的是loop中需要让res先左移一位再加digit, 若是在loop中先写加digit再左移会把首位溢出掉。
e.g. 如果是 32位的int, 其实能够左移的只有31位。
Time Complexity: O(1). 一共左移了32位. Space O(1).
AC Java:
public class Solution { // you need treat n as an unsigned value public int reverseBits(int n) { /* //Method 1 return Integer.reverse(n); */ //Method 2 int res = 0; for(int i = 0; i<32; i++){ int digit = n&1; n = n>>1; res = res<<1; res+=digit; } return res; } }
相关文章推荐
- 迁移/home目录至新硬盘分区总结--无备份情况下
- mysql client 参数
- 全排列个数
- 【j360-boot】Spring-boot系列一(可能是最好的quick start)
- MDM_weeke1
- 深入分析iOS问题-performSelector:onThread:withObject:waitUntilDone
- R使用RMySQL包
- 转 jvm设置调优
- 程序语言那些事--鸟瞰图
- C++基础中常见易混淆知识点
- test
- c# windows form 生命周期 (Life cycle) 事件 顺序
- android WebView的缓存模式、JS交互
- Caffe安装 Ubuntu14.04
- JAVA学习第二天
- Codeforces Round #321 (Div. 2) E - Kefa and Watch(hash + 线段树)
- 转 JVM内存分析及导致内存溢出的不健壮代码及解决办法
- 1044. 火星数字(20)
- MySQL的常见SQL语句范例
- Swift代码实现加载WEBVIEW