美文网首页
Reverse Integer

Reverse Integer

作者: violinmeng | 来源:发表于2016-06-20 14:14 被阅读15次

    Reverse digits of an integer.
    反转整数数字。
    Example1: x = 123, return 321
    Example2: x = -123, return -321
    需要注意的问题:整数的最低位是0,如10100.以及反转的数字可能溢出。

    解:

    反转一个数字就是循环的除以10,得到的余数是最低位,是我们返回的结果的最高位。这种解法对于10100这种情况依旧使用,为了防止溢出则需要一个判断语句。代码如下(C++)
    class Solution { public: int reverse(int x) { int result = 0; while (x != 0){ if (INT_MAX / 10 < result||INT_MIN/10>result){ result = 0; break; } else{ result = result * 10 + x % 10; } x /= 10; } return result; } };
    显然时间复杂度为O(n),空间复杂度为O(1).

    相关文章

      网友评论

          本文标题:Reverse Integer

          本文链接:https://www.haomeiwen.com/subject/kguwdttx.html