leetcode 168. Excel表列名称(Excel Sheet Column Title)

题目描述:

给定一个正整数,返回它在 Excel 表中相对应的列名称。

例如,

    1 -> A
    2 -> B
    3 -> C
    ...
    26 -> Z
    27 -> AA
    28 -> AB 
    ...

示例 1:

    输入: 1
    输出: "A"

示例 2:

    输入: 28
    输出: "AB"

示例 3:

    输入: 701
    输出: "ZY"

解法:

class Solution {
public:
    string convertToTitle(int n) {
        vector<char> mp(26, 'A');
        for(int i = 1; i < 26; i++){
            mp[i] = char(mp[i-1] + 1);
        }
        string res = "";
        while(n > 0){
            n--;
            int idx = n % 26;
            res = mp[idx] + res;
            n /= 26;
        }
        return res;
    }
};
posted @ 2019-03-20 10:30  zhanzq1  阅读(117)  评论(0)    收藏  举报