`
vvaaiinn
  • 浏览: 20864 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Leetcode 7 Reverse Integer 反转数字

 
阅读更多
题目:

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;		 	        
	    }

分享到:
评论

相关推荐

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

    第321题Reversed_Integer Java中的LeetCode逆整数问题解决方案 问题 - 给定一个有符号的 32 位整数 x,返回 x 其数字颠倒。 如果反转 x 导致值超出有符号的 32 位整数范围 [-231, 231 - 1],则返回 0。 假设环境不...

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

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

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

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

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

    Reverse Integer 整数反转 9 Palindrome Number 回文数 11 Container With Most Water 盛最多水的容器 13 Roman to Integer 罗马数字转整数 14 Longest Common Prefix 最长公共前缀 20 Valid Parentheses 有效的括号...

    leetcode题库-LeetCode:力码

    整数反转 Reverse Integer.cpp 9 回文数 Palindrome Number.cpp 12 整数转罗马数字 Integer to Roman.cpp 13 罗马数字转整数 Roman to Integer.cpp 15 三数之和 3Sum.cpp 最接近的三数之和 3Sum Closest .cpp 20 ...

    leetcode跳跃-LeCode:乐科

    整数反转 8. String to Integer (atoi) 字符串转换整数 (atoi) 9. Palindrome Number 回文数 10. Regular Expression Matching 正则表达式匹配 11. Container With Most Water 盛最多水的容器 12. Integer to Roman ...

    javalruleetcode-Leetcode:力码解决方案

    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:java解Leetcode,循序渐进

    leetcode1两数之和 Leetcode Leetcode1_100 1. 两数之和 2. 两数相加 3. 无重复字符的最长子串 ...ReverseInteger 8. 字符串转数字 StringtoInteger 9. 回文数 PalindromeNumber 10. 正则匹配 RegularExpressionMatch

    LeetCode2018

    400 题LeetCode solutions in Java 8 and Python3.NO.Title中文名SolutionNoteDifficultyTag0EasyMapping1MediumLinkedList2MediumMapping3Median of Two Sorted Arrays两个排序数组的中位数Java PythonNoteHard4...

    LeetCode去除数组重复元素-leetcode_[removed]刷题

    位的有符号整数,你需要将这个整数中每位上的数字进行反转。 Palindrome Number(回文数) 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 Longest Common Prefix(最长...

    LeetCode判断字符串是否循环-leetcode:leetcode

    LeetCode判断字符串是否循环 Leetcode刷题笔记 1. 题目描述 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值...代码:reverse_integer.py 字符串切片及翻转 &gt;&gt;&gt; a = '0123456' &gt;&gt;&gt; a[1:5] '123

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

    #Reverse Integer & Palindrome Number 先将整数转为字符串:s=str(i) 然后使用 Python inbulit 方法对字符串进行反转:[::-1] 然后将字符串转为整数:i=int(s) 注意 Python 有Int 类型的默认范围:-2147483647 到 ...

    lrucacheleetcode-myfirstrepo:书中的编码练习-Python速成课程,EricMatthes的第2版

    -&gt;leetcode-reverse_integer.py :此代码返回 32 位整数的反转。 使用的技术- Python3。 来源- leetcode.com -&gt;eq_world_map2.py : 此代码使用数据可视化库 - plotly 显示地震的 30 天数据。 数据源是eq_data_30_day...

    lrucacheleetcode-LeetCode:力码

    leetcode 250 前250道除去hard、数据库以及贪心的题目 部分250以后的题目 所有动态规划的题目暂时使用递归(回溯)暴力求解 基础 Reverse Integer 88 归并排序 206 反转list 208 前缀树 94 树中序 102 树层次 105 由...

    leetcode卡-LeetCodeSolution:LeetCode解题方案

    数字反转(Reverse) 回文数(PalindromeNumer) 罗马数字转整数(RomanToInteger) 两数之和(sumInArray) 有序数组的平方(squaresOfASortedArray) 卡牌分组(xOfAKindInADeckOfCards) 排序数组去除重复项...

    leetcode二维数组搜索-leetcode:C中一些算法问题的解决

    ./7_reverse_integer.c : 反转整数 ./string2int.c : 字符串到整数 ./search_number_appeared_more_than_half.c : 找出数组中出现次数超过了多少 ./152_maximum_product_subarray.c : 最大积子./152_maximum_product...

    leetcode338-coding_notebook:编码_笔记本

    第 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分类-Data_Structures_Practice:记录自己学习数据结构的一些内容(Python/Java)

    leetcode 分类 数据结构练习(Python/Java) 记录自己学习数据结构的一些内容(Python/Java) 资料 Python 算法与数据结构视频教程 Python 算法与数据结构视频教程代码 star:1.3k 算法/数据结构/Python/剑指offer...Integer

    lrucacheleetcode-PythonStudy:Python学习

    这是一些解决##Reverse Integer 整数的逆向数字问题的代码。 示例 1:x = 123,返回 321 示例 2:x = -123,返回 -321 点击显示剧透。 你有没有想过这个? 这里有一些在编码之前要问的好问题。 如果您已经考虑过这...

Global site tag (gtag.js) - Google Analytics