力扣-504-七进制数

题目:
504. Base 7(easy)


解题思路:
进制题的常规套路:
每次数字模完进制后存下来,然后除以进制… 如此循环,直到数字变成0。
另外java中Integer.toString(num,jinzhi)可以直接转化为规定进制的字符串。


代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
法一:利用Integer
public String convertToBase7(int num) {
return Integer.toString(num,7);
}

法二:常规套路
public String convertToBase7(int num) {
if(num == 0) return "0";
boolean flag = false;
if(num < 0){
num = 0 - num;
flag = true;
}
StringBuilder sb = new StringBuilder();
while(num > 0){
sb.append((char)('0' + num%7 ));
num /= 7;
}
if(flag) sb.append("-");

return sb.reverse().toString();
}