Leetcode 168. Excel Sheet Column Title

GoodJobJasper發表於2021-01-01

在這裡插入圖片描述
方法1: 我們一般使用的計數system都是10進位制的,這邊其實就是一個26進位制的計數system。時間複雜log26(n),空間複雜1。

class Solution {
    public String convertToTitle(int n) {
        StringBuilder sb = new StringBuilder();
        Map<Integer,Character> map = new HashMap<>();
        int ascii = 64;
        map.put(0,'Z');
        for(int i = 1; i <= 26; i++){
            ascii = ascii + 1;
            map.put(i,(char)ascii);
        }
        while(n > 0){
            int num = n % 26;
            sb.append(map.get(num));
            if(n >= 26 && num == 0){
                n = n - 26;
            }
            n = n / 26;
        }
        return sb.reverse().toString();
    }
}

總結:

相關文章