leetcode整数反转,js实现_js leetcode整数反转-程序员宅基地

技术标签: 算法类  算法  JavaScript  leetcode  javascript  

leetcode整数反转,js实现

题目

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。

思路

  1. 整数反转,我们可以采用从后面往回读
  2. 读取最后一位 digit = x % 10;
  3. 拼接最新结果 result = result * 10 + digit;
  4. 边界条件:
    1. x = 0 直接返回
    2. x 大于0时, 有result * 10 + digit <= 2147483647
    3. x小于0时,有result * 10 + digit >= -2147483648

代码

var reverse = function(x) {
    
    const MAX = 2147483647;
    const MIN = -2147483648;
    let digit = 0;
    let result = 0;
    if (x === 0) return x
    // 反转,从最后以为开始取,取出来作为新数字的第一位
    while(x > 0) {
    
        // 求10的余,得到当前最后一位的值
        digit = x % 10;
        // 移除最后一位
        x = Math.floor(x / 10);
        // 将最新得到的位数拼到新数字中
        // 判断范围
        if(result > (MAX - digit) / 10) {
    
            return 0
        }
        result = result * 10 + digit;
    }
    while (x < 0) {
    
        digit = x % 10;
        // 移除最后一位
        x = Math.ceil(x / 10);
        // 将最新得到的位数拼到新数字中
        // 判断范围
        if(result < MIN / 10 - digit / 10) {
    
            return 0
        }
        result = result * 10 + digit;
    }
    return result;
};
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ta_huang/article/details/131511348

智能推荐

习题8-5 使用函数实现字符串部分复制_函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s-程序员宅基地

文章浏览阅读1.1k次。习题8-5 使用函数实现字符串部分复制 (20 分)本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。函数接口定义:void strmcpy( char *t, int m, char *s );函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s中。若m超过输入字符串的长度,则结果字符串应为空串。裁判测试程序样例:#include <stdio.h>#define MAXN 20void_函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s

html js 读取资源文件,javascript如何读取文件?-程序员宅基地

文章浏览阅读720次。因为JavaScript中的Web API有了新的方法File API,所以我们在浏览器上读取文件并处理数据更加方便而且不需要使用到后端服务器。FileReader就是从一个文件中读取数据并存储在一个JavaScript变量中,它与XMLHttpRequest含义差不多,都是从一个外部资源加载数据而且读操作是异步的,这样的好处是不会使浏览器堵塞。它读取操作的方法有多种多样的,例如以下几种方法(1)..._js 资源文件

JAVA编程根据经纬度获取详细位置信息_java根据经纬度获取地址-程序员宅基地

文章浏览阅读1.1k次,点赞9次,收藏12次。使用腾讯地图接口,根据经纬度获取详细的地理位置信息_java根据经纬度获取地址

eval与window.eval的差别-程序员宅基地

文章浏览阅读69次。eval与window.eval的差别它们之间有区别吗?开发过程中似乎很少有人去加个额外的window,觉得多此一举。比如Ajax过程中回调函数解析JSON格式字符串1 ...2 function callback(str){3 var json = eval('(' + str + ')');4 }5 ...但由于各个引擎实现差异,它们的区别还是有..._win cmd eval

MySQL死锁处理:优化查询命令及锁状态监控-程序员宅基地

文章浏览阅读591次。前言表锁行锁查询命令show status like '%lock%'Innodb_row_lock_current_waits:当前正在等待锁定的数量;Innodb_row_lock_time :从系统启动到现在锁定的总时间长度,单位ms;Innodb_row_lock_time_avg :每次等待所花平均时间;Innodb_row_lock_time_max:从系统启动到现在等待最长的一次所花..._show status like ‘%lock%’。

Spring高手之路16——解析XML配置映射为BeanDefinition的源码_spring源码分析-程序员宅基地

文章浏览阅读9.2k次,点赞16次,收藏52次。本文提供了深入Spring源码的透彻解析,从XML配置文件的加载开始,步入了Spring的内部世界。通过细致剖析setConfigLocations、refresh和loadBeanDefinitions等方法的实现,揭示了Bean从定义到注册的整个生命周期。_spring源码分析

随便推点

系统架构师论文-论企业应用集成(-集成ERP/PDM/E-mail)-程序员宅基地

文章浏览阅读3.6k次。论企业应用集成-集成ERP/PDM/E-mail[摘要]本文讨论了某公司的应用系统集成项目。某公司为了应对市场变化的需要,决定把公司几个主要的应用系统ERP系统,PDM系统,E-mail系统集成在一起,系统集成完成后,ERP系统可以与PDM系统交换数据,大大减少了重复工作。通过ERP系统与E-mail系统的集成,可以把ERP出来的报表自动发送给相关人员。我作为该项目的主要负责人之一,担任了系..._论企业应用集成

含文档+PPT+源码等]精品微信小程序ssm驾校教培服务系统小程序+后台管理系统|前后分离VUE[包运行成功]微信小程序项目源码Java毕业设计-程序员宅基地

文章浏览阅读80次。微信小程序项目源码Java毕业设计驾校教培服务系统+后台管理系统|前后分离VUE》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等本系统包含微信小程序前台和Java做的后台管理系统,该后台采用前后台前后分离的形式使用Java+VUEWXML 和 WXSS、JavaScript、uniapp前端使用技术:JSP,HTML5,CSS3、JavaScript、VUE等后端使用技术:Spring、SpringMvc、Mybatis(SSM)等数据库:Mysql数据库小程序框架:uniapp。.

【持续更新】ubuntu中的git命令_ubuntu git-程序员宅基地

文章浏览阅读2.2k次。持续更新github常用命令。_ubuntu git

Java中List转Map的几种方式_java list转map-程序员宅基地

文章浏览阅读8.8k次,点赞15次,收藏16次。在List转Map的过程中,我们可以选择使用for循环遍历、Java8 Stream API、Apache Commons Collections或Google Guava。对于小规模数据集,使用for循环遍历是最简单直接的方式。而对于大规模数据集,Java8 Stream API提供了更高效和优雅的实现方式。如果你使用了Apache Commons Collections或Google Guava这些类库,则可以利用它们提供的工具方法简化代码。选择合适的方式取决于实际需求和项目环境。_java list转map

linux系统下如何编译环境,Linux系统Ubuntu下的驱动开发编译环境搭建方法与步骤...-程序员宅基地

文章浏览阅读251次。或者$ sudo cp ../linux-headers-2.6.32-21-generic/.config./.config如果当前运行内核打开了CONFIG_IKCONFIG_PROC参数,则可以$zcat /proc/config.gz > .config$make oldconfig编译内核2.6版本后前两步不需要,直接make即可$make prepare$make scri..._ubuntu linux-headers-4.15.0-210-generic编译驱动

【图论学习笔记二】双计数(Double Counting)-程序员宅基地

文章浏览阅读3.6k次,点赞2次,收藏2次。双计数狭义上讲,对于一个集合运用两种不同的方式,得到精确表达式等式结果或者不等式的结果。握手定理对于图G=(V,E),有,即所有点的度为边的二倍。推论:图中奇度点数目为偶数。可以用关联矩阵角度看握手定理(自己可以画一个简单的图,写出它的关联矩阵);..._双计数

推荐文章

热门文章

相关标签