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; }} |
执行结果:通过
浙公网安备 33010602011771号