[Leetcode] #7 整数反转
时间:2021-07-15
本文章向大家介绍[Leetcode] #7 整数反转,主要包括[Leetcode] #7 整数反转使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1]
,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
输入:x = 123
输出:321
我能想到的有两种思路。一是通过数学方式反转,二是通过字符串反转。
解法一:
先以123为例,思考其变化过程(其实就是加减乘除拼出答案,再整理出来)
class Solution { public int reverse(int x) { int res = 0;//x = 123 res*10//0 x%10//3 res = res*10 + x%10;//0 + 3 x = x/10;//12 res*10//30 x%10//2 res = res*10 + x%10 //30 + 2 x = x/10;//1 res*10//320 x%10//1 res = res*10 + x%10 //320 + 1 return res; } }
提取公共部分转化为循环
class Solution { public int reverse(int x) { int res = 0; while(x != 0) { res = (res * 10) + (x % 10); x /= 10; } return res; } }
提交后提示解答错误,看评论才知道还需要考虑反转后是否溢出(-231 <= x <= 231 - 1
)
优化(参考评论)
class Solution { public int reverse(int x) { int res = 0; while(x != 0) { int tmp = res; // 保存计算之前的结果 res = (res * 10) + (x % 10); x /= 10; // 将计算之后的结果 / 10,判断是否与计算之前相同,如果不同,证明发生溢出,返回0 if (res / 10 != tmp) return 0; } return res; } }
解法二:
未完待续...
原文地址:https://www.cnblogs.com/jpppp/p/15016573.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python定义类的简单用法
- Linux yum 命令安装mysql8.0的教程详解
- 基于Python实现简单学生管理系统
- php 实现svg转化png格式的方法分析
- Python如何合并多个字典或映射
- 用Python 爬取猫眼电影数据分析《无名之辈》
- Python获取浏览器窗口句柄过程解析
- python如何支持并发方法详解
- thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
- php和C#的yield迭代器实现方法对比分析
- Python字符串函数strip()原理及用法详解
- python中取绝对值简单方法总结
- Linux中将txt导入到mysql的办法教程
- 深入了解NumPy 高级索引
- CentOS7设置jar应用程序开机启动的办法