Leetcode 168. Excel Sheet Column Title

Leetcode 168. Excel Sheet Column Title_第1张图片
方法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();
    }
}

总结:

你可能感兴趣的:(Leetcode,math)