题目
给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。
示例 1:
输入: num = 100
输出: “202”
示例 2:输入: num = -7
输出: “-10”提示:
-10^7 <= num <= 10^7
思路
基础的进制转换问题,没太多好讲的,需要注意的是为
的时候,不会进入while循环,需要提前判断一下,或者可以使用do-while循环。
代码
class Solution {
public String convertToBase7(int num) {
if (num == 0) {
return "0";
}
int k = Math.abs(num);
StringBuilder sb = new StringBuilder();
while (k > 0) {
sb.append(k % 7);
k /= 7;
}
if (num < 0) {
sb.append('-');
}
return sb.reverse().toString();
}
}