Reverse Integer Leetcode

Reverse digits of an integer.

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

这道题要考虑反转之后overflow的问题,感觉我的写法很非主流啊。

public class Solution {
    public int reverse(int x) {
        String str = String.valueOf(x);
        StringBuilder s;
        if (x < 0) {
            s = new StringBuilder(str.substring(1, str.length()));
            s.append("-");
        } else {
            s = new StringBuilder(str);
        }
        str = s.reverse().toString();
        int newX = 0;
        try {
            newX = Integer.valueOf(str);
        } catch(Exception e) {
        }

        return newX;
    }
}

还是用主流写法又写了一下

public class Solution {
    public int reverse(int x) {
        long newX = 0;
        while (x != 0) {
            int tmp = x % 10;
            newX = newX * 10 + tmp;
            x = x / 10;
        }
        if (newX > Integer.MAX_VALUE || newX < Integer.MIN_VALUE) {
            return 0;
        }
        return (int) newX;
    }
}
时间: 2024-10-11 17:38:21

Reverse Integer Leetcode的相关文章

Reverse Integer LeetCode Java

Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 public class Solution { public int reverse(int x) { if(x==Integer.MIN_VALUE) return 0; long result = 0; int i = 0; int temp = (x>0)?1:0; x = Math.abs(x); while

Reverse Integer ---- LeetCode 007

Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Solution 1: class Solution { public: int reverse(int x) { int result = 0; while(x != 0) { if( x > 0 && result > (INT_MAX - x % 10) / 10 || x < 0 &a

[LeetCode][JavaScript]Reverse Integer

Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have alread

LeetCode:Reverse Integer - 翻转数字

1.题目名称 Reverse Integer(翻转数字) 2.题目地址 https://leetcode.com/problems/reverse-integer/ 3.题目内容 英文:Reverse digits of an integer. 中文:翻转一个正整数的各位,形成一个新数字 例如:x = 123, return 321:x = -123, return -321 4.一个有瑕疵的方法(不能AC) 一个比较好想到的方法,是先将输入的数字转换为字符串,再将字符串翻转后转换为数字.这个方

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_MA

LeetCode 7 Reverse Integer(反转数字)

题目来源:https://leetcode.com/problems/reverse-integer/ Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 解题思路: 其实这道题看起来非常简单,要实现也是几行代码的事.但是有个小问题容易被忽略,就是边界问题.什么意思呢?如果我们输入的整数超出了int的表达范围,这个问题要怎么解决呢? 用比int更大的数据类型存储我们转

LeetCode——Reverse Integer

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have already thought through this! If the integer'

Leetcode 数 Reverse Integer

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie Reverse Integer Total Accepted: 17472 Total Submissions: 43938 Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. Have you thought

leetcode——Reverse Integer 反转整数数字(AC)

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 这个题比较简单,考虑特殊情况如12000,注意检查反转后数字是否会越界溢出.代码如下: class Solution { public: int reverse(int x) { bool minus = false; short int splitNum[10]; int i = 0, j = 0; unsign