Excel表列名称

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

例如,

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

输入: 1
输出: "A"
示例 2:

输入: 28
输出: "AB"
示例 3:

输入: 701
输出: "ZY"

 

解题思路
1-26处理为0-25
n>0的情况下取余数为0可以证明正好整除,添一个Z正好占了高位一个26(没有高位也不要紧,下次循环自然就不满足条件了)
所以n/=26之后要再减去1

class Solution {
public:
    string convertToTitle(int n) {
        string ans;
        while(n>0){
            int t=n%26;
            n/=26;
            if(t){
                ans = string(1,'A'+t-1) + ans;
            }else{
                ans = string(1,'Z') + ans;
                n--;
            }
        }
        return ans;
    }
};

 

posted @ 2021-04-07 17:39  楚天耀景  阅读(273)  评论(0)    收藏  举报