[LeetCode]--7. Reverse Integer

简介: Reverse digits of an integer.Example1: x = 123, return 321 Example2: x = -123, return -321我的第一感觉我就要把它弄成字符串,然后一下子弄出来,结果也实现了,可是超时了。public int reverse(int x) { String str = x

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

我的第一感觉我就要把它弄成字符串,然后一下子弄出来,结果也实现了,可是超时了。

public int reverse(int x) {
        String str = x + "";
        String strX = "";
        if (str.length() == 1)
            return x;
        if (str.charAt(0) != '-')
            for (int i = str.length() - 1; i >= 0; i--)
                strX += str.charAt(i);
        else {
            strX = str.charAt(0) + "";
            for (int i = str.length() - 1; i > 0; i--)
                strX += str.charAt(i);
        }
        return Integer.valueOf(strX);
    }

后来没有办法就只能换一种耗时比较短的算法。

public int reverse1(int x) {
        int reverseNum = 0;
        int temp = 0;
        while (x != 0) {
            temp = reverseNum * 10 + x % 10;
            x = x / 10;
            if (temp / 10 != reverseNum) {
                reverseNum = 0;
                break;
            }
            reverseNum = temp;
        }
        return reverseNum;
    }
目录
相关文章
|
机器学习/深度学习 NoSQL 算法
LeetCode 344. 反转字符串 Reverse String
LeetCode 344. 反转字符串 Reverse String
LeetCode 206. 反转链表 Reverse Linked List
LeetCode 206. 反转链表 Reverse Linked List
|
机器学习/深度学习
LeetCode 397. Integer Replacement
给定一个正整数 n,你可以做如下操作: 1. 如果 n 是偶数,则用 n / 2替换 n。 2. 如果 n 是奇数,则可以用 n + 1或n - 1替换 n。 n 变为 1 所需的最小替换次数是多少?
55 0
|
索引
LeetCode 345. Reverse Vowels of a String
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
54 0
LeetCode 345. Reverse Vowels of a String
|
机器学习/深度学习 NoSQL
LeetCode 344. Reverse String
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
71 0
LeetCode 344. Reverse String
LeetCode 343. Integer Break
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。
50 0
LeetCode 343. Integer Break
LeetCode 190. Reverse Bits
颠倒给定的 32 位无符号整数的二进制位。
65 0
LeetCode 190. Reverse Bits
LeetCode 150. Evaluate Reverse Polish Notation
根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
28 0
LeetCode 150. Evaluate Reverse Polish Notation
LeetCode 92. Reverse Linked List II
给定一个链表,反转指定的子序列.
59 0
LeetCode 92. Reverse Linked List II
LeetCode之Reverse String II
LeetCode之Reverse String II
85 0