leetcode(7) reverse integer
2017-07-19 13:51
302 查看
problem
Reverse digits of an integer.Example1: x = 123, return 321
Example2: x = -123, return -321
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
思路
这个题考察的知识点就是利用取模和求余运算获取和添加末位。public int reverse(int x) { int result = 0; while (x != 0) { int tail = x % 10; int newResult = result * 10 + tail; if ((newResult - tail) / 10 != result) { return 0; } result = newResult; x = x / 10; } return result; }
需要注意的是python和c及Java中的除法和取模的区别:
除法
python3中//表示地板除(floor division),即32//10=3, -32//10=-4,而在Java中-32//10=-3取模和取余
取余,遵循尽可能让商的绝对值小的原则,也就是向0舍入。取模,遵循尽可能让商小的原则,向负无穷舍入。
在除数和被除数符号相同时两种运算结果相同(因为商是正数所以舍入之后相同)。
python中的%表示的是取模运算,而c和Java中%表示的是取余运算。
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ if x<0: flag=1 x = -x else: flag=0 ans = int(str(x)[::-1]) if flag==1: x = -x if x>2147483647 or x<-2147483648: return 0 else: return x
相关文章推荐
- LeetCode(7)Reverse Integer
- leetcode Reverse Integer
- leetcode7/reverse integer
- LeetCode Reverse Integer
- [Leetcode] reverse integer 反转整数
- leetCode --Reverse Integer以及java基本类型
- Leetcode 7 Reverse Integer 将整数逆转
- LeetCode-7-Reverse Integer(C语言实现)
- LeetCode Reverse Integer、Palindrome Number
- Leetcode在线编程 reverse-integer
- (LeetCode)Reverse Integer --- 反转整数
- LeetCode:Reverse Integer
- [LeetCode]Reverse Integer
- LeetCode 7 - Reverse Integer
- leetcode: Reverse Integer
- LeetCode 7 Reverse Integer 这道题被血虐
- LeetCode[7]Reverse Integer
- LeetCode Reverse Integer(整数翻转)
- leetcode Reverse Integer(Java)
- LeetCode 7 Reverse Integer int:2147483647-2147483648 难度:2