LeetCode Blog for course "Algorithms" -- Problem 7
来源:互联网 发布:中国高速铁路 知乎 编辑:程序博客网 时间:2024/06/08 11:31
Problem 7. Reverse Integer
Reverse digits of an integer.
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? i.e. 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?
For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
My solution in Python:
Reverse digits of an integer.
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? i.e. 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?
For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ if x == 0: return 0 neg = 1 if x < 0: neg, x = -1, -x reverse = 0 while x > 0: reverse = reverse * 10 + x % 10 x = x / 10 reverse = reverse * neg if reverse < -(1 << 31) or reverse > (1 << 31) - 1: return 0 return reverse
Review:
This problem belongs to the more simple questions. However, we do need to consider the special conditions, such as numbers that exceeds the limit of 32 bits when reversed. Therefore, after reversing all the digits, we check to see whether it exceeds -(1<<31) or (1>>31), and if it does, we set the reversed value to 0.
阅读全文
0 0
- LeetCode Blog for course "Algorithms" -- Problem 7
- LeetCode Blog for course "Algorithms" -- Problem 6
- LeetCode Blog for course "Algorithms" -- Problem 8
- LeetCode Blog for course "Algorithms" -- Problem 9
- LeetCode Blog for course "Algorithms" -- Problem 11
- LeetCode Blog for course "Algorithms" -- Problem 1 & 2
- LeetCode Blog for course "Algorithms" -- Problem 3 & 5
- 算法设计Week4 LeetCode Algorithms Problem #207 Course Schedule
- Leetcode Blog Post Algorithms
- LeetCode Algorithms 210. Course Schedule II
- LeetCode-algorithms 34. Search for a Range
- LeetCode Algorithms 34. Search for a Range
- Machine Learning Algorithms: Which One to Choose for Your Problem
- 算法设计Week1 LeetCode Algorithms Problem #1 Two Sum
- 算法设计Week1 LeetCode Algorithms Problem #2 Add Two Numbers
- 算法设计Week3 LeetCode Algorithms Problem #133 Clone Graph
- 算法设计Week6 LeetCode Algorithms Problem #455 Assign Cookies
- 算法设计Week7 LeetCode Algorithms Problem #53 Maximum Subarray
- 栈,队列和背包总结
- linux 信号笔记
- python爬虫第二节课
- 欢迎使用CSDN-markdown编辑器
- opencl笔记
- LeetCode Blog for course "Algorithms" -- Problem 7
- Druid是什么和用StatViewServlet用于展示Druid的统计信息
- Jzoj4714 公约数
- Hdu4859-【】-【拓扑排序+优先队列+逆向处理】
- linux crond定时任务源码分析
- c语言面试题 指针30个常错题型
- CvMat,Mat和IplImage之间的转化和拷贝
- t.test()
- HDU——hdu2389 Rain on your Parade