• 定义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;
    }
};