题目

给定一个整数 num,将其转化为 7 进制,并以字符串形式输出。

示例 1:

输入: num = 100
输出: “202”
示例 2:

输入: num = -7
输出: “-10”

提示:

-10^7 <= num <= 10^7

思路

基础的进制转换问题,没太多好讲的,需要注意的是504. 七进制数 - 图1504. 七进制数 - 图2的时候,不会进入while循环,需要提前判断一下,或者可以使用do-while循环。

代码

  1. class Solution {
  2. public String convertToBase7(int num) {
  3. if (num == 0) {
  4. return "0";
  5. }
  6. int k = Math.abs(num);
  7. StringBuilder sb = new StringBuilder();
  8. while (k > 0) {
  9. sb.append(k % 7);
  10. k /= 7;
  11. }
  12. if (num < 0) {
  13. sb.append('-');
  14. }
  15. return sb.reverse().toString();
  16. }
  17. }