LeetCode——Reverse Integer

Reverse digits of an integer.

Example1: x = 123, return 321

Example2: x = -123, return -321

Have you thought about this?

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).

数字逆转。

可转成字符数组,再处理,但是这样要考虑的情况比较多,而且使用了新的空间,效率不高。

可以通过求模运算获得依次低位,再把原乘以10加上新取得的数。

	public static int reverse(int x) {
		int ret = 0;
		while (x != 0) {
			ret = ret * 10 + x % 10;
			x /= 10;
		}
		return ret;
	}

比如:输入-192,计算过程如下,经过了三轮循环:

ret x

---------------

0 -192

-2 -192

-2 -19

---------------

-2 -19

-29 -19

-29 -1

---------------

-29 -1

-291 -1

-291 0

---------------

-291

LeetCode——Reverse Integer,布布扣,bubuko.com

时间: 2024-10-26 18:54:44

LeetCode——Reverse Integer的相关文章

leetcode——Reverse Integer 反转整数数字(AC)

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 这个题比较简单,考虑特殊情况如12000,注意检查反转后数字是否会越界溢出.代码如下: class Solution { public: int reverse(int x) { bool minus = false; short int splitNum[10]; int i = 0, j = 0; unsign

[LeetCode] Reverse Integer [8]

题目 Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have already thought th

LeetCode: Reverse Integer 解题报告

Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click to show spoilers. SOLUTION 1: 注意越界后返回0.先用long来计算,然后,把越界的处理掉. public class Solution { public int reverse(int x) { long ret = 0; while (x !

leetcode : reverse integer

Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have already thought throug

leetcode:Reverse Integer【Python版】

1.在进入while之前,保证x是非负的: 2.符号还是专门用flag保存 =================== 3.另一思路:将integer转换成string,然后首位swap,直至中间: 1 class Solution: 2 # @return an integer 3 def reverse(self, x): 4 ret = 0 5 flag = 1 6 if x < 0: 7 flag = -1 8 x *= -1 9 while(x!=0): 10 ret = ret*10+x

Leetcode: Reverse Integer 正确的思路下-要考虑代码简化

题目: Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have already thought through this! If the integ

LeetCode&mdash;&mdash;Reverse Integer(逆置一个整数)

问题: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return –321   Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have already thought through this! If the in

[LeetCode] Reverse Integer 翻转整数

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have already thought throu

LeetCode Reverse Integer 反转整数

1 class Solution { 2 public: 3 int reverse(int x) { 4 int e,s,num,k=0; 5 num=x; 6 e=0; 7 if(x<0) 8 num=-1*x; 9 while( num!=0 ){ 10 s=num%10; 11 e=e*10+s; 12 num=num/10; 13 k++; 14 } 15 if(x<0) 16 return -e; 17 else 18 return e; 19 } 20 }; 题意: Exampl