[leetcode]190. Reverse Bits -- JavaScript 代码

原创 2016年08月31日 09:58:36
/**
 * @param {number} n - a positive integer
 * @return {number} - a positive integer
 */
var reverseBits = function(n) {
    var result = 0;
    for (var i = 0; i < 32; i++) {
        result |= (n >> i & 0x1) << (31 - i); 
        // 取得n特定位的值,设置到result特定位中
    }
    return result >>> 0;
};

这道题虽然是简单题,但是却涉及到了JS中,有符号数和无符号数的问题:在 JavaScript 中,所有整数字变量默认都是有符号整数。
例如,在C语言中:

unsigned int a = 3774191835u; 
unsigned int b = a >> 2; 
/* b == 943547958 */ 

但是,在JS中:

var a = 3774191835; 
var b = a >> 2; 
/* b == -130193866 */ 

可见,输出结果完全不同,因此,这道题我们就需要将JS中的有符号数转化为无符号数:

var signed,unsigned;
var signed = -1;
unsigned = signed >>> 0;// 有符号变无符号
alert(unsigned);
signed = unsigned << 0;// 无符号变有符号
alert(signed)
版权声明:喵创文章, 盗版必究~

【LeetCode】Reverse Bits 翻转二进制

题目Reverse Bits Reverse bits of a given 32 bits unsigned integer. For example, given input ...
  • xiangshimoni
  • xiangshimoni
  • 2015年04月23日 14:59
  • 1058

[LeetCode-191] Number of 1 Bits(判断一个整数中有多少个1)

方法一:【分析】判断一个整数最右边是不是1,我们可以把输入的整数和1相&,判断相&之后的结果,判断是不是为1,然后继续移位判断其它位 方法二:【分析】上述的方法只适用于正数,当输入的数为一个负数的时候...
  • xy010902100449
  • xy010902100449
  • 2015年09月14日 20:42
  • 1024

Leetcode上的各种“Reverse”

A. 单链表整体的逆转题目链接:https://leetcode.com/problems/reverse-linked-list/其实做法挺简单的,就是将每个节点的next指针指向原来链表中的上一个...
  • Jacketinsysu
  • Jacketinsysu
  • 2016年03月03日 23:10
  • 327

JavaScript版leetcode源码(持续更新)小白第一次进行刷题

/** * * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = func...
  • zhoudeyou945
  • zhoudeyou945
  • 2016年12月01日 19:28
  • 788

《LeetBook》leetcode题解(7): Reverse Integer[E]——处理溢出的技巧

007. Reverse Integer[E]——处理溢出的技巧 Reverse IntegerE处理溢出的技巧 题目 思路 思路1用long 思路2变化前后对比 思路3提前停止操作 题目Revers...
  • hk2291976
  • hk2291976
  • 2016年04月10日 10:59
  • 689

Leetcode 链表部分简单题汇总

1. 回文链表的判断 给定一个链表,判断是否为回文链表,我的思路是利用快慢指针先找到链表的中间节点,然后将中间节点之后的部分反转,再将反转的部分和前半部分比较 /** * Definition ...
  • u012148952
  • u012148952
  • 2016年10月06日 13:58
  • 292

leetcode中,代码如何调试,创造本地运行环境

初次接触leetcode,是我在一个招聘网站上看的,这个OJ真有那么厉害吗? 这几天在这个OJ上做了几道题,发现他的几个特点,1、题目不难(相对于ACM来说,我被ACM虐到至今无力),评判没那么苛刻...
  • bg2bkk
  • bg2bkk
  • 2014年07月08日 21:06
  • 6791

关于LeetCode中Reverse Integer一题的理解

题目如下: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321...
  • zsy112371
  • zsy112371
  • 2016年08月27日 16:46
  • 266

关于LeetCode中Reverse String一题的理解

题目: Write a function that takes a string as input and returns the string reversed.
  • zsy112371
  • zsy112371
  • 2016年08月22日 19:44
  • 164

LeetCode题解汇总(C++ Java Python,含题目翻译)

LeetCode题目(含AC Rates):http://oj.leetcode.com/problems/ 我的github:https://github.com/lilong-dream/ 1 T...
  • dragon_dream
  • dragon_dream
  • 2014年02月23日 17:49
  • 34887
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[leetcode]190. Reverse Bits -- JavaScript 代码
举报原因:
原因补充:

(最多只允许输入30个字)