支持十进制转 2~36 进制。

string base(int n, int b)
{
    if (n == 0) return "0";
    string res = "";
    while (n > 0)
    {
        int rem = n % b;
        res += (rem < 10) ? (rem + '0') : (rem - 10 + 'A');
        n /= b;
    }
    // 将字符串从 begin 到 end 翻转
    reverse(res.begin(), res.end());
    return res;
}

以及赠送一个回文数判断。

bool ifPal(string str)
{
    int l = 0, r = str.size() - 1;
    while (l < r) { if (str[l] != str[r]) return false; l++, r--; }
    return true;
}