思路: 不断相除 取余数
注意:
char数组存储大于10的进制
m 为负数时的处理
AC Code
import java.util.*;
public class Solution {
/**
* 进制转换
* @param M int整型 给定整数
* @param N int整型 转换到的进制
* @return string字符串
*/
public String solve (int m, int n) {
// write code here
StringBuffer sb = new StringBuffer();
char[] cs = new char[]{'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
int k = -m;
m = Math.abs(m);
while(m > 0) {
// 余数
int rem = m % n;
sb.append(cs[rem]);
m /= n;
}
return k > 0 ? "-" + sb.reverse().toString() : sb.reverse().toString();
}
}