牛客Top200---进制转换(java)

Posted 小样5411

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客Top200---进制转换(java)相关的知识,希望对你有一定的参考价值。

题目

解析与代码


综上重要点是循环M%N,然后结果添加进字符串,M = M / N更新M
代码如下

import java.util.*;

public class Solution {
    public String solve (int M, int N) {
        if(M == 0){
            return "0";
        }
        String s = "0123456789ABCDEF";
        StringBuilder sb = new StringBuilder();
        boolean flag = false;//是否为负数,默认为false
        if(M < 0){
            flag = true;
            M = -M;//等到最后再添加上,正数进行计算
        }
        //进制转换
        while(M != 0){
            sb.append(s.charAt(M%N));
            M = M / N;
        }
        //如果是负数则添加负号
        if(flag){
            sb.append("-");
        }
        return sb.reverse().toString();
    }
}

以上是关于牛客Top200---进制转换(java)的主要内容,如果未能解决你的问题,请参考以下文章

牛客Top200---判断回文(java)

牛客Top200---大数加法(java详解)

牛客Top200---删除链表中倒数第n个结点(java详解)

牛客Top200刷题(java)

牛客Top200---反转字符串(java)

牛客Top200---数组中只出现一次的两个数字(java)