1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Solution { public String convertToBase7(int num) { if (num == 0) { return "0"; }
boolean negative = false; if (num < 0) { negative = true; num *= -1; } StringBuilder sb = new StringBuilder(); while (num != 0) { sb.append(num % 7); num /= 7; }
String numStr = sb.reverse().toString(); return (negative ? "-" : "") + numStr; } }
|
注意 Java 中负数对正数取余的结果为负数,所以我们将 num 转换为正数后再处理。
References
504. Base 7