168. Excel Sheet Column Title (Easy)

Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:

    1 -> A
    2 -> B
    3 -> C
    ...
    26 -> Z
    27 -> AA
    28 -> AB
Solution 1: Math O(n); O(1)

这题本质是进制转化,但是不是普通的二十七或者二十六进制转化,因为27表示为AA,而不是A“ ”。
那么要考虑先算高位,还是先算低位,记住先算低位!为了用append,记录结果的逆序,然后reverse。

    public String convertToTitle(int n) {
        StringBuilder res = new StringBuilder();
        while (n > 0) {
            n--; //important!
            res.append((char) ('A' + n % 26 ));
            // res.append((char) ('A' - 1 + n % 26 )); //这么写不对,比如26,会变成A@
            n /= 26;
        }
        return res.reverse().toString();
    }

results matching ""

    No results matching ""