LeetCode解题-#7-Reverse Integer
来源:互联网 发布:淘宝网天猫童鞋 编辑:程序博客网 时间:2024/06/05 04:43
题目描述:
给一个32位有符号整数,按位反转。
如果溢出则返回0。
比如:
Input: 123
Output: 321
Input: -123
Output: -321
Input: 120
Output: 21
思路:
第一反应是转换成 string,再反转,但这肯定不是最高效的。
可以从右向左按位逐个取出数字,保存进一个新的数字。
比如: 1234-> 123-[4] -> 12-[43] -> 1-[432] -> [4321]
有点像反转链表的思路,不过按位取出数字的过程要麻烦一些。
实现:
public class Solution { public int Reverse(int x) { int result = 0; while(x != 0) { int tail = x % 10; //对10求余得到末位数字 int newResult = result * 10 + tail; //新结果*10进位,然后把上一步得到的末位数字插入新结果的后面 if((newResult-tail) / 10 != result) { //如果上一步反算不成立,则说明 stack overflow return 0; } result = newResult; x /= 10; //除以10相当于原数字舍去末位数字 } return result; }}
阅读全文
0 0
- LeetCode解题-#7-Reverse Integer
- LeetCode 7 Reverse Integer 解题报告
- 【LeetCode】Reverse Integer解题笔记
- LeetCode解题报告---Reverse Integer
- LeetCode-Reverse Integer-解题报告
- [LeetCode] Reverse Integer 解题报告
- 【Leetcode】7.Reverse Integer 解题
- [Leetcode]解题文档- Reverse Integer
- [LeetCode] Reverse Integer 解题报告
- [LeetCode 解题报告] Reverse Integer
- LeetCode #7 Reverse Integer 翻转整数 解题小节
- [leetcode] 7. Reverse Integer 解题报告
- [Leetcode] 7. Reverse Integer 解题报告
- leetcode解题报告7. Reverse Integer
- [LeetCode 解题报告]007.Reverse Integer
- [leetcode]7. Reverse Integer@Java解题报告
- LeetCode 7 - Reverse Integer
- LeetCode(7) Reverse Integer
- babyos2(8)——读IDE硬盘
- java的函数重载
- FZU
- 求二叉树的高度
- 我的学习记录32
- LeetCode解题-#7-Reverse Integer
- Homestead中安装yarn教程
- JSP语言做简易留言板
- C# 扩展方法 白话总结
- 重学Mybatis基础配置和开发步骤
- 菜狗的Python学习笔记 第一章 基础知识
- nginx反向代理的缓存
- 位运算实现四则运算
- 已知先序序列、中序序列创建二叉树