Given an integer, return its base 7 string representation.
Example 1:
Input: 100
Output: “202”
Example 2:
Input: -7
Output: “-10”
Note: The input will be in range of [-1e7, 1e7].
给出一个数字,找出其七进制的字符串表示。
需要注意的时数字可能是负数,同时数字如果是INT_MIN应该怎么表示。。。
代码中会判断该数字是否为负数,同时直接将该数字用 long long 类型表示,这样不会存在数字是INT_MIN转换为正数时溢出的现象。
string convertToBase7(int num) {
if (num == 0)return "0";
bool flag = false;
long long temp;
ostringstream out;
if (num < 0){
flag = true;
temp = -num;
}
else temp = num;
while (temp){
out << temp % 7;
temp /= 7;
}
string str = out.str();
reverse(str.begin(), str.end());
if (flag)return '-' + str;
return str;
}