LeetCode - 504. Base 7

链接

504. Base 7

题意

给定一个整数,返回其七进制表示法。

思路

除7取余法即可,注意负数的情况,可以先视为正数,最后加上负号。

代码

Java:

public class Solution {
    public String convertToBase7(int num) {
        if (num == 0) return "0";
        boolean isNegative = false;
        if (num < 0) {
            isNegative = true;
            num *= -1;        
        }
        String res = "";
        while (num > 0) {
            res = num % 7 + res;
            num /= 7;
        }
        if (isNegative) {
            return "-" + res;
        }
        return res;
    }
}

// 直接用API:
public class Solution {
    public String convertToBase7(int num) {
        return Integer.toString(num, 7);
    }
}

// 递归:
public String convertTo7(int num) {
    if (num < 0)
        return '-' + convertTo7(-num);
    if (num < 7)
        return num + "";
    return convertTo7(num / 7) + num % 7;
}
posted @ 2017-05-16 10:14  zyoung  阅读(167)  评论(0编辑  收藏  举报