leetcode(2)——整数反转, 20210302

题目描述

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

 

解答过程

对于数字转换的,我习惯用字符串作操作。于是我先将整数转成字符串,对字符串做完反转操作后,再转换为整数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Solution {
    public int reverse(int x) {
        StringBuffer res = new StringBuffer();
        String xstr = String.valueOf(x);
        int xstrlen = xstr.length();
        char minus = '-';
        if (xstr.charAt(0) == minus) {
            res.append(minus);
            for (int i = 0; i < xstrlen - 1; i++) {
                res.append(xstr.charAt(xstrlen - 1 - i));
            }
        else {
            for (int i = 0; i < xstrlen; i++) {
                res.append(xstr.charAt(xstrlen - 1 - i));
            }
        }
        int result = 0;
        try {
            result = Integer.valueOf(String.valueOf(res));
        catch (NumberFormatException e) {
            result = 0;
        }
        return result;
    }
}

 

执行结果:通过

posted @ 2021-03-06 18:36  keepfriend  阅读(55)  评论(0)    收藏  举报