(力扣)LeetCode刷题之整数反转

陈鹏
既存一息,多言无益。

​关注他

8 人赞同了该文章

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

卧槽,又是简单题,简单个毛线啊,对于我这种菜鸡来说,真的好难呀!!!

我的思路一开始就是笨办法,把数字转换成字符串,然后判断是否是正数,负数,最后转换以后看是否在[-2^31,2^31-1]范围内,但是好像不行啊,用什么来接收转换后的数字呢?环境只允许存储32位的有符号数,不能使用long64位的来接收啊????

力扣(LeetCode)官方给出的解题方式如下:


我勒个去啊,这TM的就是一道数学题啊!!!

理下思路吧:

官方给出的思想是“弹出”和“推入”

首先是弹出:

/pop operation:  //弹出
pop = x % 10; //取余运算,得到一个数字最后一位,得到数字符号和x的一致
x /= 10;  //接上步得到最后一位数字,该数字不要最后一个数字了

例如:数字3456

pop = 3456 % 10= 6

x /=10 → x = 3456/10 = 345

推入

//push operation://推入
temp = rev * 10 + pop;  //rev一开始是0
rev = temp;

例如:接上面的

temp = 6

rev = 6

重复上面的“弹出”,“推入”操作,就可以完成数字的反转

但是,问题也来了,防止溢出,所以肯定得有个条件的嘛,2^31-1的值为:2147483647,将近21亿多,当作圆周率记一下吧,要是我有这么多钱就好了,-2^31的值为:-2147483648

如果:“弹出”和“推入”得到的rev的数值>int类型的最大值/10,就不可能成功了,肯定溢出,例如:rev = 214748365,他下一次“推入”的数字不管是多少肯定比2^31-1大,

或者rev的数值=int类型的最大值/10 ,那么“弹出”的数字>7,也不行

负数的同理

总结:学渣的我能理解也不容易吧,还好数学思维好,┭┮﹏┭┮,只能慢慢来了,其他的方法以后再补充吧,感觉做这种题好烧脑啊......

发布于 2019-02-25
力扣(LeetCode)
​赞同 8​​3 条评论

​分享

​喜欢​收藏

赞同 8

分享


http://www.taodudu.cc/news/show-620671.html

相关文章:

  • 转载:vscode快捷键
  • 转载:vscode gcc makefile git 配置入门
  • 转载:cin总结附带string输入总结
  • 转载:c+string类详解
  • 转载:c输入空格字符串
  • 转载://C++中getline()、gets()等函数的用法
  • 转载学习笔记:c++atoi
  • 转载:力扣字符串题atoi
  • #笔记:pta题笔记:注意:double不能直接比较大小!!!///////计算2个复数的和、差、积、商。
  • 原创:pta做题笔记:注意数组大小大一点!//准考证号,试机座位,考试座位查询
  • 转载:概率与梳理统计||数学基础
  • 转载:vs配置opencv教程
  • 转载:opencv中imshow函数运行中断的解决办法
  • 转载:【opencv入门教程之一】:配置
  • 转载:【opencv入门教程之三】:组件结构
  • 转载:【opencv入门教程之三】:图片的载入|显示|输出
  • 转载:【OpenCV入门教程之四】 ROI区域图像叠加初级图像混合 全剖析
  • 转载:opencv错误rect错误
  • 转载:opencv:关于vs opencv每次都要配置的解决方案
  • 转载:矩阵的掩膜操作实现图像对比度调整
  • 转载:掩膜矩阵操作数学解释(权重表,锐化)
  • 【OpenCV入门学习笔记1】:Mat对象的指针操作和掩膜操作
  • 【OpenCV入门学习笔记2】:Mat对象
  • 转载:【OpenCV入门教程之五】 分离颜色通道多通道图像混合
  • 转载:【opencv入门教程之六】创建Trackbar图片对比度、亮度值调整
  • #转载:十大排序方法,动图展示
  • #转载:杨辉三角形实现过程详解-c语言基础
  • 转载:socket通信基础
  • 学习笔记:linuxsocket通信基础
  • 学习笔记:二叉搜索树的验证

转载:力扣:整数翻转(难点:整数溢出)相关推荐

  1. 力扣13 罗马数字转整数逻辑详解

    力扣 13 .罗马数字转整数逻辑详解 题目详情 逻辑分析 代码实现 题目详情 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 1 ...

  2. python整数反转_敲代码学Python:力扣简单算法之整数反转

    学习重点:整数逆序算法 力扣(LeetCode)原题​leetcode-cn.com ''' 功能:整数反转 来源:https://leetcode-cn.com/explore/featured/c ...

  3. 【力扣网练习题】整数反转

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321  示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出 ...

  4. 力扣--8字符串转换整数 (atoi)

    题目 python 代码 此题的限制条件比较多 def myAtoi(s):s = s.lstrip() #去开头空格if len(s) < 1:return 0minusFlag = Fals ...

  5. 力扣网-罗马数字转整数

    问题简介  这个问题其实与整数转化为罗马数字相当. 编程思路 转换函数写全一些(包括400.900.40.90等) Map<String, Integer> transfer = new ...

  6. 【力扣】NO.7.整数反转

    解题思路 两点注意: 以123为例,要转换为321实际上是将其从右向左拆分 先获得3:123%10=3; 再获得2:(int)(123/10)%10=2 123每/10,result要*10; 这里的 ...

  7. 力扣 13.罗马数字转整数

    文章目录 题目 AC代码 总结 题目 题目在这 这是一道简单等级的题目. AC代码 这是我的思路,就是按照题中给的意思,一行代码一行代码地撸出来的,显得很笨. class Solution {publ ...

  8. 力扣151. 翻转字符串里的单词

    给你一个字符串 s ,逐个翻转字符串中的所有 单词 . 单词 是由非空格字符组成的字符串.s 中使用至少一个空格将字符串中的 单词 分隔开. 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串. ...

  9. 力扣226. 翻转二叉树(JavaScript)

    方法一:递归 var invertTree = function(root) {let swap=function(left,right){let temp=leftleft=rightright=t ...

  10. 将矩阵转为一行_LeetCode 力扣官方题解 | 861. 翻转矩阵后的得分

    点击上方蓝字设为星标 下面开始今天的学习- 力扣  861. 翻转矩阵后的得分(点击文末阅读原文查看题目)题目描述有一个二维矩阵 A 其中每个元素的值为 0 或 1 .移动是指选择任一行或列,并转换该 ...

最新文章

  1. 9 张图带你深入理解 Docker 架构!
  2. c语言暴力求解法二维数组比较,【算法】搜索二维矩阵 暴力解法二分法 4种语言...
  3. 关于github failed to push some refs
  4. Gradle与project(三)
  5. 图灵机器人调用数据恢复_机器人也能撩妹?python程序员自制微信机器人,替他俘获女神芳心...
  6. 实现三元组表示的两个稀疏矩阵的加法_K-BERT | 基于知识图谱的语言表示模型
  7. 网上图书商城项目学习笔记-028编辑一级分类
  8. elementui如何在input 框中搜索_【挑战自学Python编程】第八天:while循环以及input()函数...
  9. Linux内核探索之路——关于方法
  10. Keil中C代码常见错误的解决
  11. LabVIEW:忽略自动错误处理
  12. mysql nfs存储_NFS存储服务及部署
  13. UML图学习之五 序列图(顺序图)和协作图
  14. Redis Expire 设置key过期时间
  15. 留下岁月的痕迹,不负自己所望
  16. java读取pdf签名_Java 获取PDF中的数字签名信息
  17. Kubernetes基础详解
  18. CAS:1347750-20-2,氨基PEG巯基,NH2-PEG-SH,Amine-PEG-Thiol
  19. 换手率短线炒股神器测评
  20. [刷题]算法竞赛入门经典(第2版) 6-6/UVa12166 - Equilibrium Mobile

热门文章

  1. [codevs 1298] 凸包周长 [codevs 3201] 奶牛代理商 XI
  2. 珠心算测试(c++版)
  3. MATLAB实现实时录音,语音采集与读写用matlab实现录音以及语谱图的绘制.pdf
  4. 新时达二代操作器刷写数据线_布袋除尘器的脉冲振动特点及安装操作
  5. OC 知识:彻底理解 iOS 内存管理(MRC、ARC)
  6. openssl证书及配置
  7. SpringBoot入门教程(十)应用监控Actuator
  8. HTML5 Canvas
  9. 小程序之旅——第六站(模板首页)
  10. 【数据算法】Java实现二叉树存储以及遍历