我的思路:
相当于是26进制,不过需要考虑一下没有0的情况,写一个函数不断的返回传入参数除以26后的结果,要特别考虑当传入数据余数为0的情况,此时应该将余数作为26进行处理
代码如下,一次过
class Solution {
public:
string convertToTitle(int n) {
vector<char> result;
char tmp;
while(n>26)
{
n = get_right_data(n,&tmp);
result.insert(result.begin(),tmp);
}
tmp = 64+n;
result.insert(result.begin(),tmp);
string final;
final.assign(result.begin(),result.end());
return final;
}
int get_right_data(int in,char* out)
{
int shang;
int yushu;
yushu = in%26;
if(yushu==0)
yushu = 26;
shang = (in-yushu)/26;
*out = 64+yushu;
return shang;
}
};