題目描述:
給定一個正整數,返回它在 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;
}
};