题目描述:
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB
本题要我们将阿拉伯数字转化为Excel工作簿中列的标题。
解题思路:
本题相当于把一个十进制数转化为一个26进制数,转化方法为将n一直除以26直到为0,每次得到的余数就是从个位往上对应的字母。但要注意的是像26、52等等这样的数会得到AZ、BZ这样的答案,所以除之前要先将n-1。
代码:
1 class Solution { 2 public: 3 string convertToTitle(int n) { 4 string result; 5 while(n){ 6 char c=(--n)%26+'A'; 7 result=c+result; 8 n/=26; 9 } 10 return result; 11 } 12 };