168 Excel表列名称

168. Excel表列名称

思路:本题简单,有趣的是原本的n进制一般是0~(n-1),而本题却是 1~n,所以需要在每次处理时对数-1来化成 0 ~(n-1);

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

例如:

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

示例 1:

输入:columnNumber = 1
输出:"A"

示例 2:

输入:columnNumber = 28
输出:"AB"

示例 3:

输入:columnNumber = 701
输出:"ZY"

示例 4:

输入:columnNumber = 2147483647
输出:"FXSHRXW"

提示:

  • 1 <= columnNumber <= 231 - 1
class Solution {
public:
    string convertToTitle(int columnNumber) {
        string ans;
        //本质上还是转26位进制表示,但是一般是0-25的26位进制,本题是1-26,只需要在每次处理时-1即可
        while(columnNumber--){
            ans += columnNumber % 26 + 'A';
            columnNumber /= 26;
        }
        reverse(begin(ans), end(ans));
        return ans;
    }
};
posted @ 2022-03-30 09:22  BailanZ  阅读(63)  评论(0编辑  收藏  举报