LeetCode - 504. Base 7
链接
题意
给定一个整数,返回其七进制表示法。
思路
除7取余法即可,注意负数的情况,可以先视为正数,最后加上负号。
代码
Java:
public class Solution {
public String convertToBase7(int num) {
if (num == 0) return "0";
boolean isNegative = false;
if (num < 0) {
isNegative = true;
num *= -1;
}
String res = "";
while (num > 0) {
res = num % 7 + res;
num /= 7;
}
if (isNegative) {
return "-" + res;
}
return res;
}
}
// 直接用API:
public class Solution {
public String convertToBase7(int num) {
return Integer.toString(num, 7);
}
}
// 递归:
public String convertTo7(int num) {
if (num < 0)
return '-' + convertTo7(-num);
if (num < 7)
return num + "";
return convertTo7(num / 7) + num % 7;
}