题目:
Reverse digits of an integer.
Example1:x =
123, return 321
Example2:x = -123, return -321
翻译就是把一个数字反过来输出。
解题思路:这道题目看起来比较简单。无非就是一个数字取个位,作为另一个高位。无非是在10的运算。
代码1:
public static int reverse2(int x)
{
int rev = 0;
boolean flag = false;//正负数
if(x < 0)
{
x = 0 -x;
flag = true;
}
while(x > 0)
{
rev = x %10 +rev *10;
x = x/10;
}
if(flag)
{
rev = 0 -rev;
}
return rev;
}
这个是我初始想到的代码。提交上去后,题目给了个数为1534236469,结果最后结果跑出来是1056389759。后来想想是溢出的问题。
因为java的Integer.MAX_VAVLUE
2e31-1,MIN_VALUE -2e31。
即在快要到边界的时候乘以10 便会出现溢出的问题。
因此加上判断条件
if (rev != 0 && Integer.MAX_VALUE / rev < 10)
return 0;
最后整合下代码,最终版本为
代码2:
public static int reverse(int x) {
int rev = 0;
while(x!=0)
{
if (rev != 0 && Integer.MAX_VALUE / rev < 10
&& Integer.MAX_VALUE / rev > -10)
return 0;
rev = rev*10 + x%10;
x = x/10;
}
return rev;
}
分享到:
相关推荐
第321题Reversed_Integer Java中的LeetCode逆整数问题解决方案 问题 - 给定一个有符号的 32 位整数 x,返回 x 其数字颠倒。 如果反转 x 导致值超出有符号的 32 位整数范围 [-231, 231 - 1],则返回 0。 假设环境不...
Leetcode\ReverseInteger\ReverseInteger.cs 问题: 业绩报告: 回文数 代码: Leetcode\PalindromeNumber\PalindromeNumber.cs 问题: 从排序数组中删除重复项 代码: Leetcode\RemoveDuplicates\RemoveDuplicates....
位有符号整数,反转整数的数字。 注意:假设我们正在处理的环境只能存储 32 位有符号整数范围内的整数:[−231, 231 − 1]。 出于此问题的目的,假设您的函数在反转整数溢出时返回 0。 示例 1: Input: 123 Output: ...
Reverse Integer 整数反转 9 Palindrome Number 回文数 11 Container With Most Water 盛最多水的容器 13 Roman to Integer 罗马数字转整数 14 Longest Common Prefix 最长公共前缀 20 Valid Parentheses 有效的括号...
整数反转 Reverse Integer.cpp 9 回文数 Palindrome Number.cpp 12 整数转罗马数字 Integer to Roman.cpp 13 罗马数字转整数 Roman to Integer.cpp 15 三数之和 3Sum.cpp 最接近的三数之和 3Sum Closest .cpp 20 ...
整数反转 8. String to Integer (atoi) 字符串转换整数 (atoi) 9. Palindrome Number 回文数 10. Regular Expression Matching 正则表达式匹配 11. Container With Most Water 盛最多水的容器 12. Integer to Roman ...
java lru leetcode Leetcode-Java Use Java to solve Leetcode&JianZhiOffer problems. Leetcode Num Title Difficulty Tag 1 ...7 Reverse Integer (整数反转) Easy Math 8 String to Integer (ato
leetcode1两数之和 Leetcode Leetcode1_100 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 ...ReverseInteger 8. 字符串转数字 StringtoInteger 9. 回文数 PalindromeNumber 10. 正则匹配 RegularExpressionMatch
400 题LeetCode solutions in Java 8 and Python3.NO.Title中文名SolutionNoteDifficultyTag0EasyMapping1MediumLinkedList2MediumMapping3Median of Two Sorted Arrays两个排序数组的中位数Java PythonNoteHard4...
位的有符号整数,你需要将这个整数中每位上的数字进行反转。 Palindrome Number(回文数) 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 Longest Common Prefix(最长...
LeetCode判断字符串是否循环 Leetcode刷题笔记 1. 题目描述 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值...代码:reverse_integer.py 字符串切片及翻转 >>> a = '0123456' >>> a[1:5] '123
#Reverse Integer & Palindrome Number 先将整数转为字符串:s=str(i) 然后使用 Python inbulit 方法对字符串进行反转:[::-1] 然后将字符串转为整数:i=int(s) 注意 Python 有Int 类型的默认范围:-2147483647 到 ...
->leetcode-reverse_integer.py :此代码返回 32 位整数的反转。 使用的技术- Python3。 来源- leetcode.com ->eq_world_map2.py : 此代码使用数据可视化库 - plotly 显示地震的 30 天数据。 数据源是eq_data_30_day...
leetcode 250 前250道除去hard、数据库以及贪心的题目 部分250以后的题目 所有动态规划的题目暂时使用递归(回溯)暴力求解 基础 Reverse Integer 88 归并排序 206 反转list 208 前缀树 94 树中序 102 树层次 105 由...
数字反转(Reverse) 回文数(PalindromeNumer) 罗马数字转整数(RomanToInteger) 两数之和(sumInArray) 有序数组的平方(squaresOfASortedArray) 卡牌分组(xOfAKindInADeckOfCards) 排序数组去除重复项...
./7_reverse_integer.c : 反转整数 ./string2int.c : 字符串到整数 ./search_number_appeared_more_than_half.c : 找出数组中出现次数超过了多少 ./152_maximum_product_subarray.c : 最大积子./152_maximum_product...
第 338 章概括 [(雅虎)4。 两个排序数组的中位数](Leetcode 问题/数组和字符串/4.median_of_two...反转字符串中的单词](Leetcode Problems/Array and String/151.reverse_words_in_a_string.md) [167. Two Sum 2 - In
leetcode 分类 数据结构练习(Python/Java) 记录自己学习数据结构的一些内容(Python/Java) 资料 Python 算法与数据结构视频教程 Python 算法与数据结构视频教程代码 star:1.3k 算法/数据结构/Python/剑指offer...Integer
这是一些解决##Reverse Integer 整数的逆向数字问题的代码。 示例 1:x = 123,返回 321 示例 2:x = -123,返回 -321 点击显示剧透。 你有没有想过这个? 这里有一些在编码之前要问的好问题。 如果您已经考虑过这...