168. Excel Sheet Column Title
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 ...
举例:
Input: 1 Output: "A"
Input: 28 Output: "AB"
Input: 701 Output: "ZY"
Input: 26*28=26*26+26+26 Output: "AAZ"
其实就是一种进制数转换,和求商求余有关。但是要注意的是,如果余数为0,应该是‘Z’,并且此时求余要-1(举几个例子可以很容易分析出来原因)。Input: 26*28 Output: "AAZ",不减一就会变成“ABZ”显然是不对的。
class Solution {
public:
string convertToTitle(int n) {
string s;
while(n)
{
int m= n%26;
n= n/26;
if(m==0)
{
s='Z'+s;
n--;
}
else
{
char temp='A'+m-1;
s=temp+s;
}
}
return s;
}
};