# 504. Base 7

## Description

Given an integer num, return a string of its base 7 representation.

Example 1:

Input: num = 100
Output: "202"


Example 2:

Input: num = -7
Output: "-10"


Constraints:

• -107 <= num <= 107

## Solutions

• class Solution {
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();
}
}


• class Solution {
public:
string convertToBase7(int num) {
if (num == 0) return "0";
if (num < 0) return "-" + convertToBase7(-num);
string ans = "";
while (num) {
ans = to_string(num % 7) + ans;
num /= 7;
}
return ans;
}
};

• class Solution:
def convertToBase7(self, num: int) -> str:
if num == 0:
return '0'
if num < 0:
return '-' + self.convertToBase7(-num)
ans = []
while num:
ans.append(str(num % 7))
num //= 7
return ''.join(ans[::-1])


• func convertToBase7(num int) string {
if num == 0 {
return "0"
}
if num < 0 {
return "-" + convertToBase7(-num)
}
ans := []byte{}
for num != 0 {
ans = append([]byte{'0' + byte(num%7)}, ans...)
num /= 7
}
return string(ans)
}

• function convertToBase7(num: number): string {
if (num == 0) {
return '0';
}
let res = '';
const isMinus = num < 0;
if (isMinus) {
num = -num;
}
while (num != 0) {
const r = num % 7;
res = r + res;
num = (num - r) / 7;
}
return isMinus ? '-' + res : res;
}


• impl Solution {
pub fn convert_to_base7(mut num: i32) -> String {
if num == 0 {
return String::from("0");
}
let mut res = String::new();
let is_minus = num < 0;
if is_minus {
num = -num;
}
while num != 0 {
res.push_str((num % 7).to_string().as_str());
num /= 7;
}
if is_minus {
res.push('-');
}
res.chars().rev().collect()
}
}