题解 | #进制转换# | C++

进制转换

https://www.nowcoder.com/practice/2cc32b88fff94d7e8fd458b8c7b25ec1

#include <algorithm>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
    string solve(int M, int N) {
        std::string ans;
        bool positive = true;
        if (M < 0) {
            positive = false;
            M = -M;
        }
        while (M > 0) {
            int mod = M%N;
            M/=N;
            if (mod < 10) {
                ans.push_back('0' + mod);
            } else {
                ans.push_back('A' + mod - 10);
            }
        }
        std::reverse(ans.begin(), ans.end());
        if (positive) {
            return ans;
        }
        return "-" + ans;
    }
};

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务