Reverse Integer
2015-03-06 09:46 笨笨的老兔子 阅读(138) 评论(0) 收藏 举报将一个整数颠倒
基本思路:用一个标志位记录整数的符号,如果是负数转换成整数后颠倒,然后再乘以-1。本题主要考虑的是溢出。
注意点:
- 负数到正数的过程中存在溢出
- 数字颠倒后存在溢出
class Solution {public:int reverse(int x) {long long res = 0;long long num = 0;int flag = 1;if (x < 0){num = num-x;//此处不能写作0-x或者-x,num-x这个表达式实际上存在一个隐式转换flag = -1;}else{num = x;}while (num){res = res*10 + num % 10;num = num / 10;}if (res > INT_MAX){return 0;}return res*flag;}};
浙公网安备 33010602011771号