LeetCode之7 --- Reverse Integer
2016-04-04 18:41
281 查看
题目:
Reverse digits of an integer. Example1: x= 123, return 321 Example2: x
= -123, return -321
题目大意:
逆置一个整数,如:123--->321 -123--->-321思路:
这道题比较简单,和回文数的解法一致,只不过比回文数少了一个判断而已。具体思路是循环执行result = result * 10 + x % 10, x /= 10;但是需要注意判断边界条件:要考虑逆置完的数是否溢出,如果溢出则返回0。在这里使用long或者long long来存储result,如果result大于INT_MAX或者小于INT_MIN则返回0。
代码:
class Solution { public: int reverse(int x) { long result = 0; while (x) { result = result * 10 + (x % 10); x /= 10; } if (result > INT_MAX || result < INT_MIN) { return 0; } return result; } };
相关文章推荐
- nyoj860 又见01背包
- YTU 3003: 括号匹配(栈和队列)
- POJ 1276 Cash Machine 多重背包O(n*m)算法
- 批量修改文件名
- OSX 使用“终端”远程登录linux主机
- 我 && yii2 (一)
- 四则运算———安卓版
- LeetCode之7 --- Reverse Integer
- Linux下PHP+MySQL+CoreSeek中文检索引擎配置
- 正能量!!!
- 批量修改文件
- C++文件路径的写法
- c++中不能重载的运算符
- Java基础-多线程-③线程同步之synchronized
- POJ 2236 Wireless Network
- django之创建第2个项目
- 一站式学习Wireshark(八):应用Wireshark过滤条件抓取特定数据流
- JavaScript之Ajax-6 Ajax的增强操作(jQuery对Ajax的支持、表单操作)
- typedef struct
- Linux kernel中的内核线程-kthreadd