Leetcode代码练习

Posted menmenbule

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode代码练习相关的知识,希望对你有一定的参考价值。

Given a 32-bit signed integer, reverse digits of an integer.

给定一个范围为 32 位 int 的整数,将其颠倒。

 

 

 1 var reverse = function(x) {
 2     var str, arr, num;
 3     if (x > (Math.pow(2, 31) - 1) || x < -(Math.pow(2, 31))) {
 4         return 0;
 5     }
 6     if (x >= 0) {
 7         str = x + "";
 8         arr = str.split(‘‘);
 9         arr = arr.reverse();
10         str = arr.join(‘‘);
11         num = +str;
12         if (num > (Math.pow(2, 31) - 1)) {
13             return 0;
14         } else {
15             return +str;
16         }
17     } else {
18         x = -x;
19         str = x + "";
20         arr = str.split(‘‘);
21         arr = arr.reverse();
22         str = arr.join(‘‘);
23         num = -(+str);
24         if (num < -(Math.pow(2, 31))) {
25             return 0;
26         } else {
27             return -(+str);
28         }
29     }
30 };

该题对于javascript比较简单,给出的三个例子基本就把所有的难点都分别列出来了。

主要考虑几种情况。

  1. 超出32位Int整数,要返回0。
  2. 小于0的数字需要先将符号位提取,然后反转,然后再将符号加上。
  3. 末尾几位为0的,在反转之后,0就不存在了,所以要将末尾的0都去除。
  4. 反转之后的数组也要考虑其范围,如果反转之后超出32位Int整数,也需要返回0。

以上是关于Leetcode代码练习的主要内容,如果未能解决你的问题,请参考以下文章

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

LeetCode 260 只出现一次的数字(超详细)

leetcode_1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold_[二维前缀和](代码片段

算法零基础学习关于二维数组的一些基础练习题 | leetcode1672158283248题解

算法零基础学习关于二维数组的一些基础练习题 | leetcode1672158283248题解