您的位置:首页 > 其它

Excel Sheet Column Title - LeetCode 168

2015-04-24 22:11 253 查看
题目描述: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


分析:咋一看,1-26,共26个连续整数,联想到26进制取模,但是少了0,多了26。

如果将1-26挨个减去1,不就成了0-25了么,标准的26进制啊。
因此在取模的时候,应先将被除数减去1,然后再取模,这样就得到0-25的模了,只需加1即可还原为1-26对应的字符了。

以下是C++ 实现代码,耗时1ms:

class Solution {
public:
string convertToTitle(int n) {
int k = n;
string name;
stack<int> s;
int m = 0;
while(n)
{
n--;
m = n % 26;
n /= 26;
s.push(m);
}
while(!s.empty() )
{
name.push_back((char)(65 + s.top()));
s.pop();
}
return name;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: