核心思路就是利用除留余数法对数字进行进制转换,十进制int类型转七进制字符串,使用不断整除的方法加到字符串末尾,最后反转。注意考虑负数和0的情况
reverse()函数用法
reverse(s.begin(), s.end());
class Solution {
public:
string convertToBase7(int num) {
if(num==0)
return 0;
string ans="";
bool flag=num>0?true:false;
if(flag==false)
num=-num;
while(num)
{
ans+=num%7+'0';
num/=7;
}
if(!flag)
ans+='-';
reverse(ans.begin(),ans.end());
return ans;
}
};
。