问题描述:
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].
解题思路:思路很简单,就像二进制数一样处理,而且本题不涉及负数、补码等问题,简化了难度,只需要判断正负数然后在输出string前面相应的加上正负号即可。
代码:
class Solution {
public:
string convertToBase7(int num) {
if(num==0)
return "0";
string res = "";
bool positive = num>0?true:false;
if (!positive)
num = -num;
while (num) {
int y = num % 7;
res = char('0' + y) + res;
num = num / 7;
}
if (!positive)
res = "-" + res;
return res;
}
};