题解 | #进制转换#

进制转换

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

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
    string solve(int M, int N) {
        // write code here
        if(M == 0) return "0";
        bool posFlag = false; //标记是不是负数
        if(M < 0){
            posFlag = true;
            M = -M;
        }
        
        string res = "";
        string help = "0123456789ABCDEF"; //辅助的进制转换字符串
        while(M){
            res += help[M % N]; //
            M /= N; //
        }
        
        reverse(res.begin(),res.end());//逆序一下才是对应的N进制
        if(posFlag) res.insert(0, "-");
        
        return res;
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
求面试求offer啊啊啊啊:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务