LeetCode504-七进制数

题目链接

英文链接:https://leetcode.com/problems/base-7/

中文链接:https://leetcode-cn.com/problems/base-7/

题目详述

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

示例 1:

1
2
输入: 100
输出: "202"

示例 2:

1
2
输入: -7
输出: "-10"

注意: 输入范围是 [-1e7, 1e7] 。

题目详解

  • 10 进制转其他进制采用除 k 取余法。
  • 注意负数转换成正数进行转换,最后在前面加上一个负号。
  • 事实上,Java 内置了进制转换的方法,直接调用 Integer.toString(num, 7); 即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class LeetCode_00504 {

public String convertToBase7(int num) {
if (num == 0) {
return "0";
}
if (num < 0) {
return "-" + convertToBase7(-num);
}
StringBuilder sb = new StringBuilder();
while (num != 0) {
sb.append(num % 7);
num /= 7;
}
return sb.reverse().toString();
// return Integer.toString(num, 7);
}
}