Base 7
LeetCode: Base 7
Problem:
Given an integer, return its base 7 string representation.
- Note:
The input will be in range of [-1e7, 1e7].
- Examples:
Input: 100
Output: "202"
Input: -7
Output: "-10"
- Analysis:
Use module and divide 7 to get base 7 string.
- Code - Java:
class Solution {
public String convertToBase7(int num) {
if (num == 0) {
return "0";
}
boolean neg = num < 0 ? true : false;
num = Math.abs(num);
StringBuilder builder = new StringBuilder();
while (num > 0) {
builder.append(String.valueOf(num % 7));
num /= 7;
}
return neg ? "-" + builder.reverse().toString() : builder.reverse().toString();
}
}
- Code - C++:
class Solution {
public:
string convertToBase7(int num) {
if (num == 0) {
return "0";
}
bool neg = num < 0 ? true : false;
num = abs(num);
string builder = "";
while (num > 0) {
builder += to_string(num % 7);
num /= 7;
}
reverse(builder.begin(), builder.end());
return neg ? "-" + builder : builder;
}
};
- Code - Python:
class Solution(object):
def convertToBase7(self, num):
"""
:type num: int
:rtype: str
"""
if num == 0:
return str(0)
neg = False
if num < 0:
neg = True
num = abs(num)
builder = ""
while num > 0:
builder += str(num % 7)
num /= 7
if neg:
return "-" + builder[::-1]
return builder[::-1]