码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 7. 整数反转

时间:2020-01-02 18:36:37      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:code   pre   eve   int   整数   add   时间   代码   数字   

题意

给出一个 32 位的有符号整数,将这个整数中每位上的数字进行反转。

思路

  • 想法:保留符号直接翻转,注意防止爆int。时间复杂度\(O(log_{10}(n))\)
  • 吐槽:官方给的结果是如果爆了int则返回0。(是我眼了,题目中最下面的注意里写了。)

代码

class Solution {
public:
    int reverse(int x) {

        int revx = 0;
        while(x)
        {
            int add = x % 10;
            if(revx > INT_MAX / 10 || (revx == INT_MAX / 10 && add >  7))    return 0;
            if(revx < INT_MIN / 10 || (revx == INT_MIN / 10 && add < -8))    return 0;
            x /= 10;
            revx = revx * 10 + add;
        }
        return revx;
    }
};

总结

我爱水题。嗯。

LeetCode 7. 整数反转

标签:code   pre   eve   int   整数   add   时间   代码   数字   

原文地址:https://www.cnblogs.com/songjy11611/p/12134445.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!