算法分析与设计week05--7.Reverse Integer
2017-10-19 10:38
253 查看
7.Reverse Integer
Description
Reverse digits of an integer.Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
Example
Example1: x = 123, return 321Example2: x = -123, return -321
Analyse
关键在于对溢出数据的判断:if( (unsigned)x > INT_MAX) 溢出
实际上,x的正负对是否溢出没有影响,所以可以直接比较数值的大小。
class Solution { public: int reverse(int x) { int x_ = 0; while (x != 0) { if (abs(x_) > INT_MAX / 10) return 0; x_ = x_ * 10 + x % 10; x = x / 10; } return x_; } };
复杂度分析
时间复杂度:O(n)空间复杂度:O(1)
参考链接:http://www.cnblogs.com/grandyang/p/4125588.html
相关文章推荐
- 算法分析与设计课程(16):【leetcode】 Integer to Roman
- 算法分析与设计课程——LeetCode刷题之Reverse Integer
- 算法分析与设计——LeetCode Problem.12 Integer to Roman
- 【算法设计与分析】分金币
- 算法设计与分析-减治法1
- 算法分析与设计第十一周:416. Partition Equal Subset Sum
- (转)常用的算法设计与分析-一夜星辰的博客
- 算法分析与设计-10- 最大子段和的动态规划算法
- [算法分析与设计] leetcode 每周一题: 328. Odd Even Linked List
- 算法分析与设计课程总结
- 算法分析与设计——LeetCode:3. Longest Substring Without Repeating Characters
- Stanford公开课之算法:设计与分析——II.渐进式分析(第一周)
- 算法设计与分析--01背包问题(动态规划法解决)
- YUV / RGB 格式分析及快速查表算法设计
- 一串首尾相连的珠子(m个),有N种颜色(N《=10),设计一个算法,取出其中一段,要求包含所有N中颜色,并使长度最短。并分析时间复杂度与空间复杂度。
- 学习进度(2012-7-11)(红黑树、多线程、算法分析与设计、COM技术内幕)
- 动态规划;多边形游戏;类似圈型石头合并;算法设计分析作业;
- 第K大数 算法分析、设计与实现(Java)
- 算法设计与分析之不定期更新的日常3+贪心
- 算法 动态连通性--如何设计和分析算法