您的位置:首页 > 其它

[LeetCode 168] Excel Sheet Column Title

2015-08-25 14:58 459 查看
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

10进制转为26进制

1.

public String convertToTitle(int n) {
        Map<Integer, String> numToString = new HashMap<>();
        for(int i=0;i<26;i++){
            char w = (char) ('A' + i);
            numToString.put(i, String.valueOf(w));
        }
        if(n<=26) return numToString.get(n-1);
        StringBuilder sb = new StringBuilder();
        while(n>0){
            int index = (n-1)%26;
            sb.append(numToString.get(index));
            n = (n-1)/26;
        }
        return sb.reverse().toString();
    }


2.

public String convertToTitle1(int n) {
        String result = "";
        while(n>0){
            result = (char)((n-1)%26 +'A') + result;
            n = (n-1)/26;
        }
        return result;
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: