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
但是有点不一样, 26是Z。而不是进位。所以要分情况处理
先计算低位 再计算高位。
class Solution {
public:
string convertToTitle(int n)
{
string ret = "";
while (n != 0)
{
if(n % 26 != 0)
{
ret = ret + char(n % 26 + 64);
n /= 26;
}
else
{
ret = ret + 'Z';
n = n / 26 - 1;
}
}
reverse(ret.begin(),ret.end());
return ret;
}
};
171. Excel Sheet Column Number
Related to question Excel Sheet Column Title
Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28
class Solution {
public:
int titleToNumber(string s)
{
int ret = 0;
int k = 1;
while (s != "")
{
ret += k * (int(s[s.size()-1]) - 64);
k *= 26;
s = s.substr(0, s.size() - 1);
}
return ret;
}
};