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

这道题考察的是26进制数据的转化。

代码如下:

public class Solution 
{
    /*
     * 就是一个10进制数据转换为26进制的数据,不过要注意这里是从1开始,
     * 不是从0开始的
     * */
    public String convertToTitle(int n) 
    {
        String res = "";
        while( n>0 )
        {
            res = (char)((int)('A')+(n-1)%26) + res;
            n = (n-1)/26;
        }
        return res;
    }

}

下面是C++的做法,就是一个26进制数据的jisuan

代码如下:

#include <iostream>
#include <string>

using namespace std;


class Solution 
{
public:
    string convertToTitle(int n) 
    {
        string res = "";
        while (n>0)
        {
            res = (char)((int)('A') + (n - 1) % 26) + res;
            n = (n - 1) / 26;
        }
        return res;
    }
};