Leecode刷题之路第七天之整数反转

Scroll Down

题目出处

07-整数反转

题目描述

整数反转-题目描述

个人解法

思路:

1.将整数转换为字符串

2.倒序输出字符串

3.兼容负数case

代码示例:(Java)

public int reverse(int x) {
        Integer integer = new Integer(x);
        String s = integer.toString();
        String reverseStr = "";
        boolean isNegative = false;
        for (int i = s.length() - 1; i >= 0; i--) {
            char c = s.charAt(i);
            if ('-' == c) {
                isNegative = true;
                continue;
            }
            reverseStr += c;
        }
        return isNegative ? -new Integer(reverseStr) : new Integer(reverseStr);
    }

复杂度分析

o(n)

官方解法

整数反转-官方解法

方法1:数学

思路:

整数反转-数学解题思路1
整数反转-数学解题思路2

代码示例:(Java)

   public int reverse(int x) {
        int rev = 0;
        while (x != 0) {
            if (rev < Integer.MIN_VALUE / 10 || rev > Integer.MAX_VALUE / 10) {
                return 0;
            }
            int digit = x % 10;
            x /= 10;
            rev = rev * 10 + digit;
        }
        return rev;
    }

复杂度分析

整数反转-复杂度分析

考察知识点

1.有符号整数
unsigned
有符号整数
无符号整数

2.char是否相等判断

3.四则运算之余数,除法运算

收获

Gitee源码位置

07-整数反转-源码

同名文章,已同步发表于CSDN,个人网站,公众号