- 定义0~15对应的字符;
- 记录正负号,如果为负数,转为整数处理;
- 将余数一次放入结果,如果记录为负,在末尾添加'-';
- 整体反转结果字符串,返回。
class Solution {
public:
/**
* 进制转换
* @param M int整型 给定整数
* @param N int整型 转换到的进制
* @return string字符串
*/
string solve(int M, int N) {
// write code here
char str[] = "0123456789ABCDEF";
string result = "";
bool sign = true;
if (M < 0) {
M = -M;
sign = false;
}
while (M >= N) {
result.push_back(str[M % N]);
M /= N;
}
result.push_back(str[M]);
if (!sign) {
result.push_back('-');
}
reverse(result.begin(), result.end());
return result;
}
};