题目描述:

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 };

 

posted on 2018-02-15 14:45  宵夜在哪  阅读(103)  评论(0编辑  收藏  举报