# [LeetCode] 504. Base 7 基数七

2021年09月15日 阅读数：1

Given an integer, return its base 7 string representation.html

Example 1:java

```Input: 100
Output: "202"```

Example 2:python

```Input: -7
Output: "-10" ```

Note: The input will be in range of [-1e7, 1e7].app

Java:htm

```public class Solution {
public String convertTo7(int num) {
if (num == 0) return "0";

StringBuilder sb = new StringBuilder();
boolean negative = false;

if (num < 0) {
negative = true;
}
while (num != 0) {
sb.append(Math.abs(num % 7));
num = num / 7;
}

if (negative) {
sb.append("-");
}

return sb.reverse().toString();
}
}　```

Java:blog

```public String convertTo7(int num) {
if (num < 0)
return '-' + convertTo7(-num);
if (num < 7)
return num + "";
return convertTo7(num / 7) + num % 7;
}　　```

Python:递归

```class Solution(object):
def convertToBase7(self, num):
"""
:type num: int
:rtype: str
"""
if num == 0:
return '0'
if num < 0:
return '-' + self.convertToBase7(-num)

res = ''
while num > 0:
res = str(num % 7) + res
num = num / 7

return res
```

Python:

```def convertTo7(self, num):
if num == 0: return '0'
n, res = abs(num), ''
while n:
res = str(n % 7) + res
n //= 7
return res if num > 0 else '-' + res　　```

Python:

```def convertTo7(self, num):
if num < 0: return '-' + self.convertTo7(-num)
if num < 7: return str(num)
return self.convertTo7(num // 7) + str(num % 7)　　```

C++:

```class Solution {
public:
string convertToBase7(int num) {
if (num == 0) return "0";
string res = "";
bool positive = num > 0;
while (num != 0) {
res = to_string(abs(num % 7)) + res;
num /= 7;
}
return positive ? res : "-" + res;
}
};
```

C++:

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