链接:https://leetcode-cn.com/problems/base-7/description/
中文题目:
给定一个整数,将其转化为7进制,并以字符串形式输出。
英文题目:
Given an integer, return its base 7 string representation.
示例 1:
输入: 100
输出: "202"
示例 2:
输入: -7
输出: "-10"
思路:
n进制数只要不断除以n得到的数字按反向添加就能得到10进制数对应的n进制数字。
负号记得取反。
题解:
class Solution {
public String convertToBase7(int num) {
if (num == 0) {
return "0";
}
StringBuilder sb = new StringBuilder();
// 若是负数需要加上一个负号
boolean isNegative = num < 0;
if (isNegative) {
num = -num;
}
while (num > 0) {
sb.append(num % 7);
num /= 7;
}
// append添加顺序向后,进制数是往前叠加的
String result = sb.reverse().toString();
return isNegative ? "-" + result : result;
}
}