leetcode整数反转,js实现

这篇具有很好参考价值的文章主要介绍了leetcode整数反转,js实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目

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

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。文章来源地址https://www.toymoban.com/news/detail-522900.html

思路

  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;
};

到了这里,关于leetcode整数反转,js实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法题分析:反转整数

    最近刷到了一道medium难度的算法题,比较典型,可以用语法特性和常规解法来解决。题目如下: 反转整数有两个大的思路,一个是把数字转换成字符串,然后把正负号单独保存,针对纯数字的字符串进行反转,当然还是要注意超出32位整型数值范围要返回0的边界情况。几乎所

    2024年02月07日
    浏览(26)
  • JavaScript深拷贝(js深拷贝,JavaScript递归函数,实现深拷贝)

    简述:JavaScript的深拷贝和浅拷贝大家都比较熟悉,今天来分享下深拷贝,就是使用该函数时,会复制拷贝一份该数据,修改该数据属性,不会改变原有数据,就是把复制的对象所引用的对象全都复制了一遍,具体实现如下; 1、定义拷贝对象; 2、定义递归函数deepClone(),实现

    2024年02月15日
    浏览(62)
  • 【力扣算法10】之 7. 整数反转 python

    给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 输入:x = 123 输出:321 输入:x = -123 输出:-321 输入:x = 120 输出:21 输入

    2024年02月16日
    浏览(37)
  • 【JavaScript】原生js实现省市区联动效果

    😉博主:初映CY的前说(前端领域) ,📒本文核心:用原生js实现省市区联动 【前言】今日在复习省市县三级联动的时候,有点忘了原生的js应该怎么样处理省市县的联动,特此写下来再次复习下 1.获取相对应的DOM对象 2.写省市县接口获取到接口信息 3.写下change事件,有变化时调

    2023年04月24日
    浏览(54)
  • 【JS】js数组分组,javascript实现数组的按属性分组

    项目代码中有很多时候需要按一定的条件实现按属性分组 你可以使用JavaScript的 Array.prototype.reduce() 方法来将数组分组。这是一种高级的方法,它可以将数组元素组合成一个单值。在这种情况下,你可以使用它来把数组元素放到一个对象中,其中对象的键是分组的条件,值是所

    2023年04月08日
    浏览(50)
  • JavaScript实现点击复制(JS访问剪贴板相关)

    一、具体代码 ​ 网页前端开发中有时会出现这样的场景:让用户点击某个按钮,然后就能直接复制对应的文本内容,让用户可以将文本内容粘贴到想要粘贴的地方,常用于分享功能模块中。如果想要实现这种效果就需要我们去访问用户的剪贴板,然后把想要复制的内容写入

    2024年02月11日
    浏览(41)
  • JavaScript实现排序算法

    目录 前言 排序算法 冒泡排序 选择排序 插入排序 归并排序 快速排序 计数排序 基数排序 桶排序 排序算法是《数据结构与算法》中最基本的算法之一,本篇使用JavaScript语言实现各种常见排序算法。 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻

    2024年02月08日
    浏览(48)
  • 在 JavaScript 中生成特定范围内的随机整数

    如何在 JavaScript 中的两个指定变量之间生成随机整数,例如 x = 4 和 y = 8 会输出 4, 5, 6, 7, 8 中的任何一个? 保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com Mozilla Developer Network 页面上有一些示例: 这是它背后的逻辑。这是一

    2024年02月06日
    浏览(40)
  • 【数据结构与算法】JavaScript实现排序算法

    一、大O表示法 大O表示法: 在计算机中采用 粗略的度量 来描述计算机算法的 效率 ,这种方法被称为 “大O”表示法 在 数据项个数 发生改变时, 算法的效率 也会跟着改变。所以说算法A比算法B快两倍,这样的比较是 没有意义 的。 因此我们通常使用 算法的速度 随着 数据

    2024年02月02日
    浏览(55)
  • 〖大前端 - 基础入门三大核心之JS篇⑯〗- JavaScript的流程控制语句「for循环语句及算法题」

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月07日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包