题目描述:
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 -> A
2 -> B
3 -> C
…
26 -> Z
27 -> AA
28 -> AB
…
示例 1:
输入: 1
输出: “A”
示例 2:
输入: 28
输出: “AB”
示例 3:
输入: 701
输出: “ZY”
方法1:
主要思路:
(1)直观的想,就是模仿十进制的26进制,只不过这里在处理减少一位的方式是n=(n-1)/26;,而不是直接除以26,其他的正常的模仿生成即可;
class Solution {
public:
string convertToTitle(int n) {
string res;
while(n){
int tmp=n%26;
if(tmp==0)//等于零时,表示最后以为可以整除掉26,则加入对应的‘Z’
res='Z'+res;
else//否则,加入对应的字符
res=(char)(tmp-1+'A')+res;
n=(n-1)/26;//减少一位
}
return res;
}
};