[LeetCode]反转整数(Reverse Integer)

news/2024/6/16 23:43:25

题目描述

给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:
输入: 123
输出: 321

示例 2:
输入: -123
输出: -321

示例 3:
输入: 120
输出: 21

注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

解决方法

123 -> 321的过程

  1. res = 0
  2. 获取个位g
  3. res = res * 10 + g
  4. 原值 /= 10
  5. 重复2 3步骤直到原值为0

反转的算法有了,还差个溢出判断。
a为原值,d为新值,c为个位,如果不溢出的话可以通过a*10+c=d,a=(d-c)/10互相转换
根据上述可得以下代码

    public int reverse(int x) {
        int res = 0;

        while (x != 0) {
            int remainder = x % 10;
            int newRes = res * 10 + remainder;
            if ((newRes - remainder) / 10 != res) // 如果有溢出则无法回退到原来的结果
                return 0;
            res = newRes;
            x /= 10;
        }

        return res;
    }

时间复杂度:O(log(x)),x为要反转的数字
空间复杂度:O(1)

原文链接:https://lierabbit.cn/2018/05/...


http://www.niftyadmin.cn/n/3367150.html

相关文章

每周推荐阅读2013Q1汇总

上次把去年发的每周推荐阅读汇总贴了出来,收到了大家的肯定和鼓励,非常感谢。最近开始越来越多地阅读微信公共账号,比起微博这样的140字浅阅读,公共账号的信息似乎更有价值,当然前提是关注对的人,Q2开始我想…

React中的函数子组件(FaCC)和高阶组件(HOC)

在接触过React项目后,大多数人都应该已经了解过或则用过了HOC(High-Order-Components)和FaCC(Functions as Child Components),因为这两个模式在大多数react的开源库里都存在。比如react-router里面的withRouter 就是典型的高阶组件,接受一个…

web test automation test / QTP / IBM RFT / Selenium IDE / IOS appium / AU3

Selenium WebDriver / Selenium IDE http://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ Selenium VS Webdriver http://www.ibm.com/developerworks/cn/web/1309_fengyq_seleniumvswebdriver/ 表 1. WebDriver 查找页面元素 查找方式描述举例 (Java)By.id以元…

H5学习从0到1-H5的超链接以及图片链接(6)

链接内容 1.文本链接 2.图片链接 属性 href:指向另一个文档的链接 name:文档内部的链接 img标签属性 alt:替换文本属性 width:宽 height:高 代码实例 效果图 感谢阅读 喜欢小编文章的,可以点个订阅&#xf…

The requested profile pom.xml could not be activated because it does not exist. 解决方法

项目单击右键,属性中找到maven,把此处清空保存即可 转载于:https://www.cnblogs.com/loveBetty/p/9441852.html

压测工具之JMeter之环境配置及运行

一、下载JMeter 地址:http://jmeter.apache.org/download_jmeter.cgi 系统:win7 x64 在 Binaries 目录下选择一个合适自己系统的版本,不要下载 Source 因为会报一个源文件丢失的错误。如下 unable to access jarfile apachejmeter.jar 二、…

微信小程序之底部弹框预约插件

代码地址如下:http://www.demodashi.com/demo/13982.html 一、前期准备工作: 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html 1、基本需求。 实现用户预约时间可选预约…

web test flow

web 测试相关工具 http://www.51testing.com/?uid-94273-action-spacelist-type-blog-itemtypeid-1730 Rational Compuware Mercury TeleLogic 华为 其他 测试管理 Test Manager QA Director TestDirector Doors G…