7. 整数反转

news2024/9/28 1:19:35

题目链接:力扣

 

解题思路:

题目要求中有一句话:假设环境不允许存储 64 位整数(有符号或无符号)。 

也就是说不能使用long类型来判断是否int溢出,只能使用int类型进行运算

首先对于一个整数的翻转比较简单:对10进行取模运算,比如数字x= 1234,反转后的新数字result=0:

1234%10 = 4,得到末尾4,然后1234/10=123,result= result*10+4;

123%10 = 3,得到末位3,然后123/10 =12,result= result*10+3;

12%10=2,得到末位2,然后12/10 = 1,result= result*10+2;

1%10=1,得到末尾1,然后1/10=0,result= result*10+1;

x=0,结束

当x为负数时,上述过程也依然成立,对与负数,对10取模得到的余数也是一个负数,result每次加的都是一个负数,最终result的结果就是所求。

但是上述过程可能会发生整数的溢出,比如x=1234567899,翻转后为9987654321,超过了32位有符号数的最大值2147483647,发生了溢出。

有一种比较简单的判断溢出的方式:观察result的更新过程,每一次乘10后,再加上得到的末位数字,所以,可以使用一个额外的变量prev表示上一轮result的值,如果本轮循环result/10的值不等于prev则发生的溢出,这种方式对于正数溢出和负数溢出的判断都适用。如果一个数乘10后发生了溢出,那么显然溢出后的值与原来的值不是10倍的关系。

比如int a = 9876544321,则a*10 = 1286608618,1286608618/10 =128660861,不等于a 显然发生了溢出。

AC代码

class Solution {
    public static int reverse(int x) {
        int result = 0;
        int prev;
        while (x != 0) {
            prev = result;
            result = result * 10 + x % 10;
            if (result / 10 != prev) {
                return 0;
            }
            x /= 10;
        }
        return result;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/130840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学openCV,不会数字图像系统可不行

来源:投稿 作者:小灰灰 编辑:学姐 前言 在光照的情况下,通过成像系统将大自然中的物体拍摄出来,成像系统手机自带有,这里面我们关心的是分辨率,成像系统显示的点数越多,阵列越大&am…

HCIA静态试验(12.30-31复习)

目标实现: 2、首先进行子网划分 基于192.168.1.0 24划分 ‘一共7个路由器需要7个网段还有7个主干网 192.168.1.0/24 ----用于骨干 192.168.1.32/27 ----R1环回 192.168.1.32/28 192.168.1.48/28 192.168.1.64/27 --- R2环回 192.168.1.64/28 192.168.1.80/28 …

Java之网络相关概念

寒假又开始更新java了,之后更新的是b站教程韩顺平老师的课,编译器我从idea换成eclipse(因为蓝桥杯只有eclipse,要先熟悉) 1.网络相关概念 网络通信 网络 ip地址 1.简单来说ip地址是每一台主机的标识 类似于我们现…

Vue 疑难扎症(一)有时候取不到Vue对象中值怎么办?对象值发生改变了但是页面没有刷新怎么办?

目录 有时候取不到对象中值怎么办? 问题截图 问题代码 问题分析 情况1 情况2 情况3 问题解决 对象值发生改变了但是页面没有刷新怎么办? 为什么? 常见错误写法: 怎么办? 有时候取不到对象中值怎么办&…

Node.js--》如何在Node.js中使用中间件,看这一篇就足够了

目录 中间件 中间件函数使用 中间件的作用 中间件分类 使用中间件的注意事项 编写接口 跨域问题及其解决方案 中间件 中间件特指业务流程的中间处理环节。当一个请求到达 Express 的服务器之后,可以连续调用多个中间件,从而对这次请求进行预处理…

【网络排查】用于接口不通,mysql,kafka等数据库介质连不上的排查

这篇文章记录生产实践中遇到的网络不通的例子 文章目录前言1. 网络协议1.1 应用层找到有问题的服务端 IP总结前言 接口调用不同了了怎么办? 就找接口服务提供方,肯定是提供方的问题的,跟调用方有啥关系~ kafka,mysql等数据库介质…

JAVAGUI编程初识之Swing

文章目录一 常用窗口1.1 JFrame框架窗口1.2 演示-JFRame,JLable的使用1.3 JDialog标签1.3.1 演示-JDialog标签二 标签组件2.1 标签2.2 图标2.2.1 ICon接口简介2.2.2 演示-用Icon接口创建图标2.3 图片图标2.3.1 演示-图片图标三 布局管理器3.1 绝对布局3.1.1 绝对布局简介3.1.2 …

年末再看指针。看来搞C/C++,如影随形的指针就得门清~~~

继上篇博文因内核页表引出的指针问题,后来又研究了一番,这次应该比较清楚了,这里再总结一下。 目录 0 前言 1 普通指针: 2 指针的指针: 3 普通指针参数: 4 指针的指针参数: 5 函数指针&a…

[Kettle] 认识Kettle

1.初识Kettle Kettle是ETL数据整合与处理工具,翻译成中文是"水壶"的意思,可理解为希望把各种数据放到一个壶里,像水一样以一种指定的格式流出,表达数据流的含义 ETL(Extract - Transform - Load)是将数据从数据来源端…

centos7部署rancher2.5

一、 什么是 Rancher Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。 Ran…

单纯形法与对偶单纯形法的通俗理解

cigma<0,a>0 min cigma/(a) 决定出基变量 1对偶单纯形法 意思是看c就是所有货物的价值&#xff0c;去看一眼这些货物单价组合售卖的价值&#xff0c;这些价值肯定要都大于0&#xff0c;而且&#xff0c;组成这个c的系数也应该是都是正的&#xff0c; c最小证明对min&a…

港科夜闻|香港科大-越秀集团百万奖金国际创业大赛2022年度前8强20强项目评审结果公布...

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、“香港科大-越秀集团”百万奖金国际创业大赛2022年度前8强&20强项目评审结果公布。2022年赛事中的各赛区前三名项目&#xff0c;共计23个项目自动入围年度总决赛&#xff0c;本轮评审在这23个项目中&#xff0c;评选出了…

Hudi学习02 -- Hudi核心概念

文章目录基本概念时间轴&#xff08;Timeline&#xff09;文件布局&#xff08;File Layout&#xff09;索引&#xff08;Index&#xff09;索引原理索引类型索引的选择策略表类型&#xff08;Table Types&#xff09;查询类型&#xff08;Query Types&#xff09;写操作&#…

Qt第五十二章:Qt Design Studio使用技巧。

一、运行项目和Debugging项目【快捷键&#xff1a;CtrR】 二、 预览单Qml文件 三、添加资源文件 &#xff08;使用资源&#xff1a;将资源拖动到Editor中的矩形中即可&#xff09; 四、多状态【正常状态、按下状态、划过状态、已点击状态...】 注意&#xff1a;多状态看起来像…

java短网址平台

git地址 Reduce: 短网址平台&#xff0c;Coody Framework首秀&#xff0c;自写IOC、MVC、ORM、TASK、JSON、DB连接池、服务器。百毫秒启动&#xff0c;全项目仅2.1M&#xff08;低配服可运行&#xff09; reduce短网址平台 测试站地址&#xff1a;http://dev.icoody.cn/ 技…

DOM事件

鼠标事件监听 键盘事件监听 表单事件监听 常见的页面事件监听 事件传播 事件传播顺序&#xff1a;从内到外&#xff08;冒泡阶段&#xff09;onxxx这样写法只能监听冒泡阶段 addEventListener()方法第三个参数如果为true监听捕获阶段&#xff0c;false监听冒泡阶段(默认) 最…

C语言及算法设计课程实验二:数据类型、运算符和简单的输入输出

C语言及算法设计课程实验二&#xff1a;数据类型、运算符和简单的输入输出一、实验目的二、实验内容2.1、输入并运行教材第3章第4题给出的程序&#xff1a;2.2、输入第3章第5题的程序2.3、输入以下程序&#xff1a;2.4、程序设计题&#xff1a;假如我国国民生产总值的年增长率为…

遗传算法解决函数优化问题

遗传算法解决函数优化问题 作者: Cukor丘克环境: MatlabR2020a vscode 为什么要学习遗传算法 为什么要学习遗传算法&#xff0c;或者说遗传算法有什么厉害的地方。例如求解以下函数优化问题&#xff1a;minf(x1,x2)x12x1225∗(sin2x1sin2x2),−10≤x1≤10,−10≤x2≤10.min…

【ACWING】【图的深度优先遍历】【846树的重心】

给定一颗树&#xff0c;树中包含 n个结点&#xff08;编号 1∼n&#xff09;和 n−1条无向边。 请你找到树的重心&#xff0c;并输出将重心删除后&#xff0c;剩余各个连通块中点数的最大值。 重心定义&#xff1a;重心是指树中的一个结点&#xff0c;如果将这个点删除后&…

js复习之正则表达式正向肯定与否定预查询

正则表达式(regular expression)描述了一种字符串匹配的模式&#xff08;pattern&#xff09;&#xff0c;可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 正则表达式_百度百科 除开常用基本匹配模式&#xff0c;偶尔也会用到…