05 August 2008
给一个整数 n,请你每隔三位添加点(即 “.” 符号)作为千位分隔符,并将结果以字符串格式返回。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
示例 1:
输入:n = 987
输出:"987"
示例 2:
输入:n = 1234
输出:"1.234"
示例 3:
输入:n = 123456789
输出:"123.456.789"
示例 4:
输入:n = 0
输出:"0"
按照String来处理,从后向前
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public String thousandSeparator(int n) {
StringBuilder sb = new StringBuilder();
String s = String.valueOf(n);
int count = 0;
for (int i = s.length() - 1; i >= 0; i--) {
sb.append(s.charAt(i));
count++;
// 如果cnt%3==0,并且i!=0(不是最后一个字符)
if (count % 3 == 0 && i != 0) {
sb.append(".");
}
}
return sb.reverse().toString();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public String thousandSeparator(int n) {
int count = 0;
StringBuffer result = new StringBuffer();
do {
int cur = n % 10;
n /= 10;
result.append(cur);
++count;
if (count % 3 == 0 && n != 0) {
result.append('.');
}
} while (n != 0);
result.reverse();
return result.toString();
}
}