题号504:
给定一个整数,将其转化为7进制,并以字符串形式输出。
示例 1:
输入: 100
输出: "202"
示例 2:
输入: -7
输出: "-10"
注意: 输入范围是 [-1e7, 1e7] 。
解题思路:
符号和数值分开处理;
每一步都将7的余数加到字符串前面,再除去7;
直到除尽(商为0)。
若为负数最后需要再加上负号。
代码实现:
class Solution {
public:
string convertToBase7(int num) {
if(num==0)return "0";
int flag=0;
if(num
num*=-1;
flag=1;// 标记为负数
}
string s;
while(num){
s=to_string(num%7)+s;
num/=7;
}
if(flag) s='-'+s;
return s;
}
};
领取专属 10元无门槛券
私享最新 技术干货