`

【LeetCode】- Reverse Integer(将一个整数反转)

 
阅读更多

[问题:]

Reverse digits of an integer.
Example1:x = 123, return 321
Example2:x = -123, return -321

题解:给定一个整数,将这个整数的数字旋转位置。

[ 分析:]

Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!
If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.
Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?
Throw an exception? Good, but what if throwing an exception is not an option? You would then have to re-design the function (ie, add an extra parameter).
注意点1:如果一个整数最后一位位0,比如:10100,那么反转后将变成101。
注意点2:如果输入的数为1000000003,那么反转后将会出现溢出,需要注意。

[ 解法:]

/*
 * 假设输入123:
 * 123 -> 3  
 * 12 -> 30 + 2  
 * 1 -> 320 + 1  
 */
public class Solution {
	public int reverse(int x) {
		int result = 0;
		while (x != 0) {
			result = result * 10 + x % 10; // 每一次都在原来结果的基础上变大10倍,再加上余数
			x = x / 10; // 对x不停除10
		}
		return result;
	}

	public static void main(String[] args) {
		Scanner scanner = new Scanner(new BufferedInputStream(System.in));
		while (scanner.hasNext()) {
			int num = scanner.nextInt();
			System.out.println(new Solution().reverse(num));
		}
	}
}



分享到:
评论

相关推荐

    leetcode第321题-LeetCode-Reverse_Integer:LeetCode-Reverse_Integer

    给定一个有符号的 32 位整数 x,返回 x 其数字颠倒。 如果反转 x 导致值超出有符号的 32 位整数范围 [-231, 231 - 1],则返回 0。 假设环境不允许您存储 64 位整数(有符号或无符号)。 示例 1: 输入:x = 123 输出...

    LeetCode7 Reverse Integer

    【LeetCode7 Reverse Integer】是LeetCode平台上的一个经典编程挑战,主要考察的是对整数操作的理解和逻辑处理能力。这个题目要求我们给定一个32位有符号整数,将其数字顺序反转。例如,输入123,输出321;输入-123...

    字符串整数的余数leetcode-reverse-integer:倒整数

    给定一个 32 位有符号整数,反转整数的数字。 注意:假设我们正在处理的环境只能存储 32 位有符号整数范围内的整数:[−231, 231 − 1]。 出于此问题的目的,假设您的函数在反转整数溢出时返回 0。 示例 1: Input: ...

    _leetcode-python.pdf

    - Reverse Integer: 将一个整数反转。在处理大数时需要注意溢出问题。 - Regular Expression Matching: 给定一个输入字符串和一个模式,实现支持'.'和'*'的正则表达式匹配。 - Container With Most Water: 给定一个...

    算法-leetcode-剑指offer上的题很多

    - **整数转换(Convert Integer A to Integer B)**: 将一个整数转换为另一个整数。 - **阶乘末尾0的个数(Factorial Trailing Zeroes)**: 计算一个整数阶乘结果末尾有多少个零。 - **唯一二叉搜索树(Unique Binary ...

    c#-Leetcode面试题解之第7题整数反转.zip

    第7题是“整数反转”(Reverse Integer),这是一个基础但又关键的问题,涉及到整数操作、位运算以及异常处理。下面将详细探讨这个问题及其解决方案。 题目描述: 给定一个32位有符号整数,你的任务是反转它的每一...

    java-leetcode面试题解之第7题整数反转.zip

    在Java编程领域,LeetCode是一个非常知名的在线平台,它提供了大量的编程题目,旨在帮助程序员提升技能,准备求职面试。这道“整数反转”的题目是LeetCode中的第7题,对于Java开发者来说,掌握这类问题的解决方法是...

    颜色分类leetcode-leetcode-[removed]我对Leetcode问题的解决方案

    颜色分类leetcode My Leetcode Problems Solutions Using javascript(ES6) 1 Two Sum 两数之和 5 Longest Palindromic ...Reverse Integer 整数反转 ...Integer ...在排序数组中查找元素的第一个和最后一个位

    判断链表是否为回文链表leetcode-Leetcode-solutions:Leetcode问题的思考和解决方案

    构造一个 Python 字典: d={} 将每一行作为记录存储到 dict 存储的正常元素应该是 i%(d*numOfRows-2 )=k,其中k=1到numOfRows当k>=numOfRows时,对应中间的元素,存储位置应该是(numOfRows-1)-(i-(numOfRows-1)) #...

    c++-c++编程基础之leetcode题解第7题整数反转.zip

    第7题“整数反转”(Integer Reverse)是LeetCode中的一个经典问题,它要求我们编写一个函数,将输入的整数进行翻转。这涉及到C++的基础知识,包括数据类型、操作符以及对整数内部二进制表示的理解。 题目描述: ...

    leetcode卡-leetcode:一些leetcode问题的解决方法,请注意license!

    Leetcode\ReverseInteger\ReverseInteger.cs 问题: 业绩报告: 回文数 代码: Leetcode\PalindromeNumber\PalindromeNumber.cs 问题: 从排序数组中删除重复项 代码: Leetcode\RemoveDuplicates\RemoveDuplicates....

    LeetCode Reverse Interger 题目解决方案

    在LeetCode上的"Reverse Integer"题目中,目标是反转一个32位有符号整数的数字。本题考察了基本的数学操作、字符串处理以及边界条件的处理。下面将详细解释这个问题及其解决方案。 首先,我们需要了解32位有符号...

    LeetCode 刷题汇总1

    * 反向整数(Reverse Integer):将整数反转。 * 字符串到整数(atoi)(String to Integer (atoi)):将字符串转换为整数。 2. 字符串操作: * 最长的回文子串(Longest Palindromic Substring):找到字符串中...

    javalruleetcode-Leetcode:力码解决方案

    java lru leetcode Leetcode-Java Use Java to solve Leetcode&JianZhiOffer problems. Leetcode Num ...(寻找两个有序数组的中位数) ...Reverse Integer (整数反转) Easy Math 8 String to Integer (ato

    Leetcode答案(c++版)

    - **问题描述**:将一个整数转换为罗马数字。 - **解题思路**: - 定义一个数组存储基本的罗马数字单位及其对应的阿拉伯数值。 - 从最高位开始,依次转换每位的值。 **1.23 RomantoInteger (13)** - **问题描述*...

    Leetcode book刷题必备

    17. Reverse Integer:反转一个整数。 18. Plus One:给定一个由非负整数组成的非空数组,将数组中的每个元素加一。 19. Palindrome Number:判断一个整数是否是回文数。 【链表】 20. Merge Two Sorted Lists:...

    Leetcode题目+解析+思路+答案.pdf

    - **Reverse Integer**:反转一个整数。 9. **字符串(String)**: - **Add Binary**:将两个二进制数相加。 - **Basic Calculator II**:实现一个基本计算器,读取一个表达式并返回计算结果。 本书通过实际...

    LeetCode答案大全

    7. Reverse Integer:这题要求将一个整数反转,需要考虑整数反转后可能超出整数范围的情况。 8. String to Integer (atoi):将字符串转换为一个整数。这题需要处理各种输入情况,比如空格、正负号、溢出等。 9. ...

    LeetCode 刷题笔记 with Java.zip

    "Reverse Integer"(反转整数)则涉及到数字的位操作和溢出检查。 第二部分的暗黑版《LeetCode 刷题笔记 with Java 1-50(暗黑版).pdf》可能提供了更加深入或非主流的解法,鼓励读者从不同角度思考问题,挑战自己...

Global site tag (gtag.js) - Google Analytics