LeetCode 7. 反转整数(Reverse Integer)
2024-10-21 16:31:27
题目描述
给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
解题思路
反转整数的思路是从一个数的最后一位开始,依次向前遍历,每次反转整数依次左移一位,并取出一位数作为新数的末位数。具体而言首先定义反转以后的数res初始为0,当x不为0时循环:
- 记录temp=res*10+x%10,此时temp即为遍历到当前位之前的反转整数
- 然后比较temp/10与res是否相等,如果整数不溢出显然相等,否则说明反转后的整数溢出,直接返回0
- 最后把temp赋值给res,并令x=x/10,即去掉最后一位,继续反转之前的数字
代码
class Solution {
public:
int reverse(int x) {
int res = ;
while(x){
int temp = res * + x % ;
if(temp / != res)
return ;
res = temp;
x /= ;
}
return res;
}
};
最新文章
- angularjs中provider,factory,service的区别和用法
- C#利用WIN32实现按键注册
- VB.NET 注册表基本操作
- 【CentOS】安装配置vncserver
- HTTP1.1缓存策略
- Javascript继承实现
- Mac Eclipse+Maven+TestNg+ReportNg 生成测试报告
- day 08字符编码 文件处理
- Python_time模块
- 解决Code First因_migrationHistory表与代码不一致的问题
- CentOS 新系统后配置
- PHP《将画布(canvas)图像保存成本地图片的方法》
- 使用 PHP 构建的 Web 应用如何避免 XSS 攻击
- UE4 引擎基础类说明
- scrapy docker 基本部署使用
- Linux虚拟机安装配置手册(版本:7.3)
- EF6 CodeFisrt支持Oracle
- 九度oj 1001 A+B for Matrices 2011年浙江大学计算机及软件工程研究生机试真题
- 常见Linux命令(非文件操作)
- 006-基于hyperledger fabric1.4( 官方文档)编写第一个应用【外部nodejs调用】