首页 > 代码库 > LeetCode 007 Reverse Integer
LeetCode 007 Reverse Integer
【题目】
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
【题意】
反转int型整数,输出的也是int型的整数
【思路】
如要考虑两种特殊情况:1. 类似100这样的整数翻转之后为1
2. 翻转之后的值溢出该如何处理,
本题的测试用例中似乎没有给出溢出的情况
在实际面试时需要跟面试官明确这种情况的处理方法。
基于这点事实,本题规定如果超出正边界返回INT_MAX, 超出负边界返回INT_MIN
【代码】
class Solution { public: int reverse(int x) { long long reverseX=0; int isNegative=1; if(x<0){ isNegative=-1; x*=-1; //取正 } while(x){ reverseX=10*reverseX+x%10; x/=10; } reverseX*=isNegative; if(reverseX>INT_MAX)return INT_MAX; else if(reverseX<INT_MIN)return INT_MIN; return (int)reverseX; } };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。