Java实现 LeetCode 504 七进制数

504. 七进制数

给定一个整数,将其转化为7进制,并以字符串形式输出。

示例 1:

输入: 100
输出: “202”
示例 2:

输入: -7
输出: “-10”
注意: 输入范围是 [-1e7, 1e7] 。

class Solution {
    public String convertToBase7(int num) {
return Integer.toString(num, 7); 
    }
}
class Solution {
final static char[] digits = {
            '0' , '1' , '2' , '3' , '4' , '5' ,
            '6' , '7' , '8' , '9' , 'a' , 'b' ,
            'c' , 'd' , 'e' , 'f' , 'g' , 'h' ,
            'i' , 'j' , 'k' , 'l' , 'm' , 'n' ,
            'o' , 'p' , 'q' , 'r' , 's' , 't' ,
            'u' , 'v' , 'w' , 'x' , 'y' , 'z'
    };

    public String convertToBase7(int num){
            

            char buf[] = new char[33];
            boolean negative = (num < 0);
            int charPos = 32;

            if (!negative) {
                num = -num;
            }

            while (num <= -7) {
                buf[charPos--] = digits[-(num % 7)];
                num = num / 7;
            }
            buf[charPos] = digits[-num];

            if (negative) {
                buf[--charPos] = '-';
            }

            return new String(buf, charPos, (33 - charPos));
        }
   
}
posted @ 2020-03-22 13:29  南墙1  阅读(61)  评论(0编辑  收藏  举报