请问有人知道这个题解为啥测试用例全部通过不了呢???????

import java.util.*;


public class Solution {
    /**
     * 进制转换
     * @param M int整型 给定整数
     * @param N int整型 转换到的进制
     * @return string字符串
     */
    public String solve (int M, int N) {
        // write code here
        StringBuilder sb = new StringBuilder();
        boolean flag = M < 0;
        if(M == 0) return "0";
        M = Math.abs(M);
        while(M != 0){
            sb.append(M%N);
            M /= N;
        }
        if(flag) sb.append("-");
        return sb.reverse().toString();
    }
}