题解 | #字符串出现次数的TopK问题#

进制转换

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

public String solve (int M, int N){
        if (M < 0){
            return new StringBuilder(getString(-M,N)).reverse().append('-').reverse().toString();
        }else {
            return getString(M, N);
        }
    }
    public String getString(int M, int N){
        StringBuilder sb = new StringBuilder();
        Map<Integer, Character> map = new HashMap<>();
        map.put(10, 'A');
        map.put(11,'B');
        map.put(12, 'C');
        map.put(13, 'D');
        map.put(14, 'E');
        map.put(15, 'F');
        int re = 0;
        while (M > N){
            re = M % N;
            if (re > 10){
                sb.append(map.get(re));
            }else {
                sb.append(Integer.toString(re));
            }
            M = M / N;
        }
        if (M > 10){
            sb.append(map.get(M));
        }else {
            sb.append(Integer.toString(M));
        }

        return sb.reverse().toString();
    }

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务