解题思路:
- 进制转换,先判断正负,之后对数字进行除7取余,若为负,则在最后加个负号,最后字符串反转。
代码:
C++:
class Solution {
public:
string convertToBase7(int num) {
if (num==0) return "0";
string ans;
int temp = abs(num);
while (temp > 0) {
ans=to_string(temp % 7) + ans;
temp/=7;
}
return num<0? "-"+ans: ans;
}
};
python:
class Solution:
def convertToBase7(self, num: int) -> str:
if num==0 : return "0"
ans = []
temp = abs(num)
while temp > 0:
ans.append(str(temp % 7))
temp //= 7
if num < 0 :
ans.append('-')
return ''.join(reversed(ans))